viberadar 0.3.183 → 0.3.185

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.
@@ -1872,7 +1872,9 @@ function escapeHtml(text) {
1872
1872
  return String(text || '')
1873
1873
  .replace(/&/g, '&')
1874
1874
  .replace(/</g, '&lt;')
1875
- .replace(/>/g, '&gt;');
1875
+ .replace(/>/g, '&gt;')
1876
+ .replace(/"/g, '&quot;')
1877
+ .replace(/'/g, '&#39;');
1876
1878
  }
1877
1879
 
1878
1880
 
@@ -3119,6 +3121,7 @@ async function init() {
3119
3121
  document.getElementById('searchInput').value = searchQuery;
3120
3122
 
3121
3123
  document.getElementById('loading').style.display = 'none';
3124
+ if (contextMode === 'probe') { await loadProbeData(); }
3122
3125
  renderStats();
3123
3126
  renderSidebar();
3124
3127
  renderContent();
@@ -3462,7 +3465,7 @@ function renderProbePanel(c) {
3462
3465
  const typeLabel = ch.type === 'file' ? 'playwright' : 'dsl';
3463
3466
  const stepsCount = ch.type === 'dsl' ? `${ch.steps.length} шагов` : ch.file?.split('/').pop() || '';
3464
3467
  return `
3465
- <div class="probe-card ${status}" onclick="probeOpenDetail(${JSON.stringify(ch.name)})">
3468
+ <div class="probe-card ${status}" onclick="probeOpenDetail(${escapeHtml(JSON.stringify(ch.name))})">
3466
3469
  <div class="probe-card-top">
3467
3470
  <div class="probe-card-name">${escapeHtml(ch.name)}</div>
3468
3471
  <div class="probe-card-icon">${probeStatusIcon(status)}</div>
@@ -3475,7 +3478,7 @@ function renderProbePanel(c) {
3475
3478
  ${result?.error ? `<div class="probe-card-err">${escapeHtml(result.error)}</div>` : ''}
3476
3479
  <div class="probe-card-footer">
3477
3480
  <button class="probe-btn probe-btn-run" style="font-size:11px;padding:4px 10px"
3478
- onclick="event.stopPropagation();probeRunOne(${JSON.stringify(ch.name)})"
3481
+ onclick="event.stopPropagation();probeRunOne(${escapeHtml(JSON.stringify(ch.name))})"
3479
3482
  ${status === 'running' ? 'disabled' : ''}>▶ Run</button>
3480
3483
  </div>
3481
3484
  </div>`;
@@ -3575,7 +3578,7 @@ function renderProbeDetail(c) {
3575
3578
  ${result ? `<span style="color:var(--muted)">${new Date().toLocaleTimeString()}</span>` : ''}
3576
3579
  </div>
3577
3580
  </div>
3578
- <button class="probe-btn probe-btn-run" style="flex-shrink:0" onclick="probeRunOne(${JSON.stringify(ch.name)})" ${isRunning ? 'disabled' : ''}>
3581
+ <button class="probe-btn probe-btn-run" style="flex-shrink:0" onclick="probeRunOne(${escapeHtml(JSON.stringify(ch.name))})" ${isRunning ? 'disabled' : ''}>
3579
3582
  ${isRunning ? '<span class="probe-spin">⏳</span> Выполняется…' : '▶ Run'}
3580
3583
  </button>
3581
3584
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viberadar",
3
- "version": "0.3.183",
3
+ "version": "0.3.185",
4
4
  "description": "Live module map with test coverage for vibecoding projects",
5
5
  "main": "./dist/cli.js",
6
6
  "bin": {