From 71ec5e6fcacd173ea76b50b57d61c81bc3c9eee1 Mon Sep 17 00:00:00 2001 From: Kpa-clawbot <259247574+Kpa-clawbot@users.noreply.github.com> Date: Sat, 28 Mar 2026 14:03:32 -0700 Subject: [PATCH 1/2] =?UTF-8?q?rename:=20MeshCore=20Analyzer=20=E2=86=92?= =?UTF-8?q?=20CoreScope=20(frontend=20+=20.squad)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 1 of the CoreScope rename — frontend display strings and squad agent metadata only. index.html: - , og:title, twitter:title → CoreScope - Brand text span → CoreScope - og:image/twitter:image URLs → corescope repo (placeholder) - Cache busters bumped public/*.js headers (19 files): - All file header comments updated public/*.css headers: - style.css, home.css updated JavaScript strings: - app.js: GitHub URL → corescope - home.js: 3 fallback siteName references - customize.js: default siteName + heroTitle Tests: - test-e2e-playwright.js: title assertion → corescope - test-frontend-helpers.js: GitHub URL constant - benchmark.js: header string - test-all.sh: header string .squad: - team.md, casting/history.json - All 7 agent charters + 5 history files NOT renamed (intentional): - localStorage keys (meshcore-*) - CSS classes (.meshcore-marker) - Window globals (_meshcore*) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .squad/agents/bishop/charter.md | 4 +- .squad/agents/bishop/history.md | 2 +- .squad/agents/hicks/charter.md | 4 +- .squad/agents/hicks/history.md | 2 +- .squad/agents/kobayashi/charter.md | 4 +- .squad/agents/kobayashi/history.md | 2 +- .squad/agents/newt/charter.md | 4 +- .squad/agents/newt/history.md | 2 +- .squad/agents/ralph/charter.md | 2 +- .squad/agents/ripley/charter.md | 4 +- .squad/agents/ripley/history.md | 2 +- .squad/agents/scribe/charter.md | 4 +- .squad/casting/history.json | 2 +- .squad/team.md | 4 +- benchmark.js | 2 +- public/analytics.js | 2 +- public/app.js | 4 +- public/audio-lab.js | 2 +- public/channels.js | 2 +- public/compare.js | 2 +- public/customize.js | 6 +-- public/home.css | 2 +- public/home.js | 8 ++-- public/hop-display.js | 2 +- public/index.html | 66 +++++++++++++++--------------- public/map.js | 2 +- public/node-analytics.js | 2 +- public/nodes.js | 2 +- public/observer-detail.js | 2 +- public/observers.js | 2 +- public/packets.js | 2 +- public/perf.js | 2 +- public/region-filter.js | 2 +- public/roles.js | 2 +- public/style.css | 2 +- public/traces.js | 2 +- test-all.sh | 2 +- test-e2e-playwright.js | 2 +- test-frontend-helpers.js | 2 +- 39 files changed, 84 insertions(+), 84 deletions(-) diff --git a/.squad/agents/bishop/charter.md b/.squad/agents/bishop/charter.md index a3d37a8e..9e64613e 100644 --- a/.squad/agents/bishop/charter.md +++ b/.squad/agents/bishop/charter.md @@ -1,10 +1,10 @@ # Bishop — Tester -Unit tests, Playwright E2E, coverage gates, and quality assurance for MeshCore Analyzer. +Unit tests, Playwright E2E, coverage gates, and quality assurance for CoreScope. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Node.js native test runner, Playwright, c8 + nyc (coverage), supertest **User:** User diff --git a/.squad/agents/bishop/history.md b/.squad/agents/bishop/history.md index 99292a4a..5792f3cf 100644 --- a/.squad/agents/bishop/history.md +++ b/.squad/agents/bishop/history.md @@ -2,7 +2,7 @@ ## Project Context -MeshCore Analyzer has 14 test files, 4,290 lines of test code. Backend coverage 85%+, frontend 42%+. Tests use Node.js native runner, Playwright for E2E, c8/nyc for coverage, supertest for API routes. vm.createContext pattern used for testing frontend helpers in Node.js. +CoreScope has 14 test files, 4,290 lines of test code. Backend coverage 85%+, frontend 42%+. Tests use Node.js native runner, Playwright for E2E, c8/nyc for coverage, supertest for API routes. vm.createContext pattern used for testing frontend helpers in Node.js. User: User diff --git a/.squad/agents/hicks/charter.md b/.squad/agents/hicks/charter.md index 61b3dbfe..9a7d12ef 100644 --- a/.squad/agents/hicks/charter.md +++ b/.squad/agents/hicks/charter.md @@ -1,10 +1,10 @@ # Hicks — Backend Dev -Server, decoder, packet-store, SQLite, API, MQTT, WebSocket, and performance for MeshCore Analyzer. +Server, decoder, packet-store, SQLite, API, MQTT, WebSocket, and performance for CoreScope. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Node.js 18+, Express 5, SQLite (better-sqlite3), MQTT (mqtt), WebSocket (ws) **User:** User diff --git a/.squad/agents/hicks/history.md b/.squad/agents/hicks/history.md index 077192d4..4e521242 100644 --- a/.squad/agents/hicks/history.md +++ b/.squad/agents/hicks/history.md @@ -2,7 +2,7 @@ ## Project Context -MeshCore Analyzer is a real-time LoRa mesh packet analyzer. Node.js + Express + SQLite backend, vanilla JS SPA frontend. Custom decoder.js fixes path_length bug from upstream library. In-memory packet store provides O(1) lookups for 30K+ packets. TTL response cache achieves 7,000× speedup on bulk health endpoint. +CoreScope is a real-time LoRa mesh packet analyzer. Node.js + Express + SQLite backend, vanilla JS SPA frontend. Custom decoder.js fixes path_length bug from upstream library. In-memory packet store provides O(1) lookups for 30K+ packets. TTL response cache achieves 7,000× speedup on bulk health endpoint. User: User diff --git a/.squad/agents/kobayashi/charter.md b/.squad/agents/kobayashi/charter.md index caaa2c00..ff5aeb4d 100644 --- a/.squad/agents/kobayashi/charter.md +++ b/.squad/agents/kobayashi/charter.md @@ -1,10 +1,10 @@ # Kobayashi — Lead -Architecture, code review, and decision-making for MeshCore Analyzer. +Architecture, code review, and decision-making for CoreScope. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Node.js 18+, Express 5, SQLite, vanilla JS frontend, Leaflet, WebSocket, MQTT **User:** User diff --git a/.squad/agents/kobayashi/history.md b/.squad/agents/kobayashi/history.md index 18381061..b49a33ba 100644 --- a/.squad/agents/kobayashi/history.md +++ b/.squad/agents/kobayashi/history.md @@ -2,7 +2,7 @@ ## Project Context -MeshCore Analyzer is a real-time LoRa mesh packet analyzer. Node.js + Express + SQLite backend, vanilla JS SPA frontend with Leaflet maps, WebSocket live feed, MQTT ingestion. Production at v2.6.0, ~18K lines, 85%+ backend test coverage. +CoreScope is a real-time LoRa mesh packet analyzer. Node.js + Express + SQLite backend, vanilla JS SPA frontend with Leaflet maps, WebSocket live feed, MQTT ingestion. Production at v2.6.0, ~18K lines, 85%+ backend test coverage. User: User diff --git a/.squad/agents/newt/charter.md b/.squad/agents/newt/charter.md index d6152ace..f35c59e1 100644 --- a/.squad/agents/newt/charter.md +++ b/.squad/agents/newt/charter.md @@ -1,10 +1,10 @@ # Newt — Frontend Dev -Vanilla JS UI, Leaflet maps, live visualization, theming, and all public/ modules for MeshCore Analyzer. +Vanilla JS UI, Leaflet maps, live visualization, theming, and all public/ modules for CoreScope. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Vanilla HTML/CSS/JavaScript (ES5/6), Leaflet maps, WebSocket, Canvas animations **User:** User diff --git a/.squad/agents/newt/history.md b/.squad/agents/newt/history.md index abc42c1e..3d4d8207 100644 --- a/.squad/agents/newt/history.md +++ b/.squad/agents/newt/history.md @@ -2,7 +2,7 @@ ## Project Context -MeshCore Analyzer is a real-time LoRa mesh packet analyzer with a vanilla JS SPA frontend. 22 frontend modules, Leaflet maps, WebSocket live feed, VCR playback, Canvas animations, theme customizer with CSS variables. No build step, no framework. ES5/6 for broad browser support. +CoreScope is a real-time LoRa mesh packet analyzer with a vanilla JS SPA frontend. 22 frontend modules, Leaflet maps, WebSocket live feed, VCR playback, Canvas animations, theme customizer with CSS variables. No build step, no framework. ES5/6 for broad browser support. User: User diff --git a/.squad/agents/ralph/charter.md b/.squad/agents/ralph/charter.md index 7f7ef5b5..dd36f312 100644 --- a/.squad/agents/ralph/charter.md +++ b/.squad/agents/ralph/charter.md @@ -4,7 +4,7 @@ Tracks the work queue and keeps the team moving. Always on the roster. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **User:** User ## Responsibilities diff --git a/.squad/agents/ripley/charter.md b/.squad/agents/ripley/charter.md index c96666f4..352336bb 100644 --- a/.squad/agents/ripley/charter.md +++ b/.squad/agents/ripley/charter.md @@ -1,10 +1,10 @@ # Ripley — Support Engineer -Deep knowledge of every frontend behavior, API response, and user-facing feature in MeshCore Analyzer. Fields community questions, triages bug reports, and explains "why does X look like Y." +Deep knowledge of every frontend behavior, API response, and user-facing feature in CoreScope. Fields community questions, triages bug reports, and explains "why does X look like Y." ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Vanilla JS frontend (public/*.js), Node.js backend, SQLite, WebSocket, MQTT **User:** Kpa-clawbot diff --git a/.squad/agents/ripley/history.md b/.squad/agents/ripley/history.md index e99a50b2..86c8611d 100644 --- a/.squad/agents/ripley/history.md +++ b/.squad/agents/ripley/history.md @@ -1,7 +1,7 @@ # Ripley — Support Engineer History ## Core Context -- Project: MeshCore Analyzer — real-time LoRa mesh packet analyzer +- Project: CoreScope — real-time LoRa mesh packet analyzer - User: Kpa-clawbot - Joined the team 2026-03-27 to handle community support and triage diff --git a/.squad/agents/scribe/charter.md b/.squad/agents/scribe/charter.md index 1bf1dcf1..2209a57b 100644 --- a/.squad/agents/scribe/charter.md +++ b/.squad/agents/scribe/charter.md @@ -1,10 +1,10 @@ # Scribe — Session Logger -Silent agent that maintains decisions, logs, and cross-agent context for MeshCore Analyzer. +Silent agent that maintains decisions, logs, and cross-agent context for CoreScope. ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **User:** User ## Responsibilities diff --git a/.squad/casting/history.json b/.squad/casting/history.json index bf07c51c..1a27f6b6 100644 --- a/.squad/casting/history.json +++ b/.squad/casting/history.json @@ -5,7 +5,7 @@ "universe": "aliens", "created_at": "2026-03-26T04:22:08Z", "agents": ["Kobayashi", "Hicks", "Newt", "Bishop"], - "reason": "Initial team casting for MeshCore Analyzer project" + "reason": "Initial team casting for CoreScope project" } ] } diff --git a/.squad/team.md b/.squad/team.md index cfb7bba7..d45190e4 100644 --- a/.squad/team.md +++ b/.squad/team.md @@ -1,8 +1,8 @@ -# Squad — MeshCore Analyzer +# Squad — CoreScope ## Project Context -**Project:** MeshCore Analyzer — Real-time LoRa mesh packet analyzer +**Project:** CoreScope — Real-time LoRa mesh packet analyzer **Stack:** Node.js 18+, Express 5, SQLite (better-sqlite3), vanilla JS frontend, Leaflet maps, WebSocket (ws), MQTT (mqtt) **User:** User **Description:** Self-hosted alternative to analyzer.letsmesh.net. Ingests MeshCore mesh network packets via MQTT, decodes with custom parser (decoder.js), stores in SQLite with in-memory indexing (packet-store.js), and serves a rich SPA with live visualization, packet analysis, node analytics, channel chat, observer health, and theme customizer. ~18K lines, 14 test files, 85%+ backend coverage. Production at v2.6.0. diff --git a/benchmark.js b/benchmark.js index d7ce92d1..e7b39899 100644 --- a/benchmark.js +++ b/benchmark.js @@ -148,7 +148,7 @@ async function benchmarkEndpoints(port, endpoints, nocache = false) { } async function run() { - console.log(`\nMeshCore Analyzer Benchmark — ${RUNS} runs per endpoint`); + console.log(`\nCoreScope Benchmark — ${RUNS} runs per endpoint`); console.log('Launching servers...\n'); // Launch both servers diff --git a/public/analytics.js b/public/analytics.js index 3af4b85a..7b178bc8 100644 --- a/public/analytics.js +++ b/public/analytics.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — analytics.js (v2 — full nerd mode) === */ +/* === CoreScope — analytics.js (v2 — full nerd mode) === */ 'use strict'; (function () { diff --git a/public/app.js b/public/app.js index 00eee90c..f33a0201 100644 --- a/public/app.js +++ b/public/app.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — app.js === */ +/* === CoreScope — app.js === */ 'use strict'; // --- Route/Payload name maps --- @@ -109,7 +109,7 @@ function formatVersionBadge(version, commit, engine) { if (!version && !commit && !engine) return ''; var port = (typeof location !== 'undefined' && location.port) || ''; var isProd = !port || port === '80' || port === '443'; - var GH = 'https://github.com/Kpa-clawbot/meshcore-analyzer'; + var GH = 'https://github.com/Kpa-clawbot/corescope'; var parts = []; if (version && isProd) { var vTag = version.charAt(0) === 'v' ? version : 'v' + version; diff --git a/public/audio-lab.js b/public/audio-lab.js index 6de036dc..6857de1f 100644 --- a/public/audio-lab.js +++ b/public/audio-lab.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — audio-lab.js === */ +/* === CoreScope — audio-lab.js === */ /* Audio Lab: Packet Jukebox for sound debugging & understanding */ 'use strict'; diff --git a/public/channels.js b/public/channels.js index b78bf3db..2cc9282d 100644 --- a/public/channels.js +++ b/public/channels.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — channels.js === */ +/* === CoreScope — channels.js === */ 'use strict'; (function () { diff --git a/public/compare.js b/public/compare.js index 2471c3c9..f9ba8f76 100644 --- a/public/compare.js +++ b/public/compare.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — compare.js === */ +/* === CoreScope — compare.js === */ /* Observer packet comparison — Fixes #129 */ 'use strict'; diff --git a/public/customize.js b/public/customize.js index 7b0eb17f..1a4d5701 100644 --- a/public/customize.js +++ b/public/customize.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — customize.js === */ +/* === CoreScope — customize.js === */ /* Tools → Customization: visual config builder with live preview & JSON export */ 'use strict'; @@ -9,7 +9,7 @@ const DEFAULTS = { branding: { - siteName: 'MeshCore Analyzer', + siteName: 'CoreScope', tagline: 'Real-time MeshCore LoRa mesh network analyzer', logoUrl: '', faviconUrl: '' @@ -45,7 +45,7 @@ ANON_REQ: '#f43f5e' }, home: { - heroTitle: 'MeshCore Analyzer', + heroTitle: 'CoreScope', heroSubtitle: 'Find your nodes to start monitoring them.', steps: [ { emoji: '💬', title: 'Join the Bay Area MeshCore Discord', description: 'The community Discord is the best place to get help and find local mesh enthusiasts.' }, diff --git a/public/home.css b/public/home.css index d5c8eccd..28d14027 100644 --- a/public/home.css +++ b/public/home.css @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — home.css === */ +/* === CoreScope — home.css === */ /* Override #app overflow:hidden for home page scrolling */ #app:has(.home-hero), #app:has(.home-chooser) { overflow-y: auto; } diff --git a/public/home.js b/public/home.js index 8a87642d..628d2933 100644 --- a/public/home.js +++ b/public/home.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — home.js (My Mesh Dashboard) === */ +/* === CoreScope — home.js (My Mesh Dashboard) === */ 'use strict'; (function () { @@ -39,7 +39,7 @@ function showChooser(container) { container.innerHTML = ` <section class="home-chooser"> - <h1>Welcome to ${escapeHtml(window.SITE_CONFIG?.branding?.siteName || 'MeshCore Analyzer')}</h1> + <h1>Welcome to ${escapeHtml(window.SITE_CONFIG?.branding?.siteName || 'CoreScope')}</h1> <p>How familiar are you with MeshCore?</p> <div class="chooser-options"> <button class="chooser-btn new" id="chooseNew"> @@ -63,7 +63,7 @@ const myNodes = getMyNodes(); const hasNodes = myNodes.length > 0; const homeCfg = window.SITE_CONFIG?.home || null; - const siteName = window.SITE_CONFIG?.branding?.siteName || 'MeshCore Analyzer'; + const siteName = window.SITE_CONFIG?.branding?.siteName || 'CoreScope'; container.innerHTML = ` <section class="home-hero"> @@ -324,7 +324,7 @@ loadMyNodes(); // Update title if no nodes left const h1 = document.querySelector('.home-hero h1'); - if (h1 && !getMyNodes().length) h1.textContent = 'MeshCore Analyzer'; + if (h1 && !getMyNodes().length) h1.textContent = 'CoreScope'; }); }); diff --git a/public/hop-display.js b/public/hop-display.js index 19c8ba91..543582ec 100644 --- a/public/hop-display.js +++ b/public/hop-display.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — hop-display.js === */ +/* === CoreScope — hop-display.js === */ /* Shared hop rendering with conflict info for all pages */ 'use strict'; diff --git a/public/index.html b/public/index.html index 7ff9b4bd..05e25af6 100644 --- a/public/index.html +++ b/public/index.html @@ -5,12 +5,12 @@ <link rel="icon" href="favicon.ico" type="image/x-icon"> <link rel="icon" href="favicon.svg" type="image/svg+xml"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> - <title>MeshCore Analyzer + CoreScope - + - + @@ -19,12 +19,12 @@ - + - - - - + + + + @@ -40,7 +40,7 @@
🍄 - MeshCore Analyzer + CoreScope
@@ -81,29 +81,29 @@
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/map.js b/public/map.js index 018a8b31..136ed393 100644 --- a/public/map.js +++ b/public/map.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — map.js === */ +/* === CoreScope — map.js === */ 'use strict'; (function () { diff --git a/public/node-analytics.js b/public/node-analytics.js index 9537661f..85ddb80f 100644 --- a/public/node-analytics.js +++ b/public/node-analytics.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — node-analytics.js === */ +/* === CoreScope — node-analytics.js === */ 'use strict'; (function () { const PAYLOAD_LABELS = { 0: 'Request', 1: 'Response', 2: 'Direct Msg', 3: 'ACK', 4: 'Advert', 5: 'Channel Msg', 7: 'Anon Req', 8: 'Path', 9: 'Trace', 11: 'Control' }; diff --git a/public/nodes.js b/public/nodes.js index 94d58d8c..ff8ac231 100644 --- a/public/nodes.js +++ b/public/nodes.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — nodes.js === */ +/* === CoreScope — nodes.js === */ 'use strict'; (function () { diff --git a/public/observer-detail.js b/public/observer-detail.js index e9f57873..80624e52 100644 --- a/public/observer-detail.js +++ b/public/observer-detail.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — observer-detail.js === */ +/* === CoreScope — observer-detail.js === */ 'use strict'; (function () { const PAYLOAD_LABELS = { 0: 'Request', 1: 'Response', 2: 'Direct Msg', 3: 'ACK', 4: 'Advert', 5: 'Channel Msg', 7: 'Anon Req', 8: 'Path', 9: 'Trace', 11: 'Control' }; diff --git a/public/observers.js b/public/observers.js index 943f1456..3619eaf7 100644 --- a/public/observers.js +++ b/public/observers.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — observers.js === */ +/* === CoreScope — observers.js === */ 'use strict'; (function () { diff --git a/public/packets.js b/public/packets.js index 80bd6440..5c8fdcef 100644 --- a/public/packets.js +++ b/public/packets.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — packets.js === */ +/* === CoreScope — packets.js === */ 'use strict'; (function () { diff --git a/public/perf.js b/public/perf.js index 3c7937d1..308cd16c 100644 --- a/public/perf.js +++ b/public/perf.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — perf.js === */ +/* === CoreScope — perf.js === */ 'use strict'; (function () { diff --git a/public/region-filter.js b/public/region-filter.js index 3d5a3437..84b65f2a 100644 --- a/public/region-filter.js +++ b/public/region-filter.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — region-filter.js (shared region filter component) === */ +/* === CoreScope — region-filter.js (shared region filter component) === */ 'use strict'; (function () { diff --git a/public/roles.js b/public/roles.js index 6ba142ab..7e0576ec 100644 --- a/public/roles.js +++ b/public/roles.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — roles.js (shared config module) === */ +/* === CoreScope — roles.js (shared config module) === */ 'use strict'; /* diff --git a/public/style.css b/public/style.css index be897ec1..15e8229a 100644 --- a/public/style.css +++ b/public/style.css @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — style.css === */ +/* === CoreScope — style.css === */ :root { --nav-bg: #0f0f23; diff --git a/public/traces.js b/public/traces.js index 0131205c..7b78eeaf 100644 --- a/public/traces.js +++ b/public/traces.js @@ -1,4 +1,4 @@ -/* === MeshCore Analyzer — traces.js === */ +/* === CoreScope — traces.js === */ 'use strict'; (function () { diff --git a/test-all.sh b/test-all.sh index bebd7e58..b9669e7f 100755 --- a/test-all.sh +++ b/test-all.sh @@ -3,7 +3,7 @@ set -e echo "═══════════════════════════════════════" -echo " MeshCore Analyzer — Test Suite" +echo " CoreScope — Test Suite" echo "═══════════════════════════════════════" echo "" diff --git a/test-e2e-playwright.js b/test-e2e-playwright.js index 2cf6958d..b71fd9eb 100644 --- a/test-e2e-playwright.js +++ b/test-e2e-playwright.js @@ -44,7 +44,7 @@ async function run() { await page.goto(BASE, { waitUntil: 'domcontentloaded' }); await page.waitForSelector('nav, .navbar, .nav, [class*="nav"]'); const title = await page.title(); - assert(title.toLowerCase().includes('meshcore'), `Title "${title}" doesn't contain MeshCore`); + assert(title.toLowerCase().includes('corescope'), `Title `"${title}" doesn't contain CoreScope`); const nav = await page.$('nav, .navbar, .nav, [class*="nav"]'); assert(nav, 'Nav bar not found'); }); diff --git a/test-frontend-helpers.js b/test-frontend-helpers.js index 507d41e1..026860e3 100644 --- a/test-frontend-helpers.js +++ b/test-frontend-helpers.js @@ -1304,7 +1304,7 @@ console.log('\n=== app.js: formatVersionBadge ==='); loadInCtx(ctx, 'public/app.js'); return ctx; } - const GH = 'https://github.com/Kpa-clawbot/meshcore-analyzer'; + const GH = 'https://github.com/Kpa-clawbot/corescope'; test('returns empty string when all args missing', () => { const { formatVersionBadge } = makeBadgeSandbox(''); From 66b3c05da31ae85912c5ca7d054d8ba6a6bb5a56 Mon Sep 17 00:00:00 2001 From: Kpa-clawbot <259247574+Kpa-clawbot@users.noreply.github.com> Date: Sat, 28 Mar 2026 14:37:27 -0700 Subject: [PATCH 2/2] fix: remove stray backtick in template literal Fixes malformed template literal in test assertion message that would cause a syntax error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- test-e2e-playwright.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-e2e-playwright.js b/test-e2e-playwright.js index b71fd9eb..f3d5b2e6 100644 --- a/test-e2e-playwright.js +++ b/test-e2e-playwright.js @@ -44,7 +44,7 @@ async function run() { await page.goto(BASE, { waitUntil: 'domcontentloaded' }); await page.waitForSelector('nav, .navbar, .nav, [class*="nav"]'); const title = await page.title(); - assert(title.toLowerCase().includes('corescope'), `Title `"${title}" doesn't contain CoreScope`); + assert(title.toLowerCase().includes('corescope'), `Title "${title}" doesn't contain CoreScope`); const nav = await page.$('nav, .navbar, .nav, [class*="nav"]'); assert(nav, 'Nav bar not found'); });