From 4501c5245bba3f4cc64ab57211cc0cd867eea7e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 17:06:25 +0530 Subject: [PATCH 1/6] chore(deps): bump the actions-minor-and-patch group with 3 updates (#75) Bumps the actions-minor-and-patch group with 3 updates: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action). Updates `github/codeql-action/init` from 3.36.2 to 3.36.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/dd903d2e4f5405488e5ef1422510ee31c8b32357...411c4c9a36b3fca4d674f06b6396b2c6d23522c6) Updates `github/codeql-action/analyze` from 3.36.2 to 3.36.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/dd903d2e4f5405488e5ef1422510ee31c8b32357...411c4c9a36b3fca4d674f06b6396b2c6d23522c6) Updates `github/codeql-action/upload-sarif` from 3.36.2 to 3.36.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/dd903d2e4f5405488e5ef1422510ee31c8b32357...411c4c9a36b3fca4d674f06b6396b2c6d23522c6) --- updated-dependencies: - dependency-name: github/codeql-action/init dependency-version: 3.36.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions-minor-and-patch - dependency-name: github/codeql-action/analyze dependency-version: 3.36.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions-minor-and-patch - dependency-name: github/codeql-action/upload-sarif dependency-version: 3.36.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions-minor-and-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 4 ++-- .github/workflows/scorecard.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 99c7b36..8d1021e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -34,7 +34,7 @@ jobs: uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 - name: Initialize CodeQL - uses: github/codeql-action/init@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2 + uses: github/codeql-action/init@411c4c9a36b3fca4d674f06b6396b2c6d23522c6 # v3.36.3 with: languages: ${{ matrix.language }} queries: security-and-quality @@ -47,6 +47,6 @@ jobs: - dist/** - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2 + uses: github/codeql-action/analyze@411c4c9a36b3fca4d674f06b6396b2c6d23522c6 # v3.36.3 with: category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index e658b9d..883d4c5 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -45,6 +45,6 @@ jobs: retention-days: 5 - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3.36.2 + uses: github/codeql-action/upload-sarif@411c4c9a36b3fca4d674f06b6396b2c6d23522c6 # v3.36.3 with: sarif_file: results.sarif From c16811220ece4a75cf54c9b71bd524b40126535b Mon Sep 17 00:00:00 2001 From: linusdevx Date: Fri, 28 Aug 2026 09:27:24 +0530 Subject: [PATCH 2/6] fix: bug fixes, icon upgrades, SEO and accessibility improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix _savedSession dead code in ModeManager.setup() (always evaluated false) - Fix body.running CSS class leak on early XPath validation returns - Fix glyphMargin false → true (error glyph icons were invisible) - Fix escHtml missing quote escaping (XSS risk in console output) - Fix spurious validation/save events: wrap setValue in _withSuppress in _applyFileContent, loadExample, and restoreFromSession - Fix restoreFromSession double updatePanelVisibility call - Fix fontLigatures + load JetBrains Mono + remeasureFonts() for Monaco - Fix prettyXML CDATA and mixed-content formatting in panes.js - Add modal scroll lock (body.modal-open) on examples/help/share modals - Add mobile best-on-desktop banner (touch+small screen detection only) - Add FOUT prevention @font-face fallback with size-adjust in style.css - Upgrade Lucide icons: code-xml, zap, terminal, cross, share2, trash2 - Add console log type icons (info/check-circle/alert-triangle/x-circle) - Replace console filter SVG dots with Lucide icons (list-filter etc.) - Improve SEO: add keywords meta, fix JSON-LD datePublished - Add Limitations section to llms.txt for AI crawlers - Improve accessibility: aria-label on 40 icon buttons, modal ARIA roles --- css/style.css | 59 ++++++++++++++++++++++++- index.html | 108 ++++++++++++++++++++++----------------------- js/editor.js | 10 +++-- js/files.js | 5 +-- js/modal.js | 6 ++- js/mode-manager.js | 24 +++------- js/panes.js | 54 ++++++++++++++++++++--- js/state.js | 11 +++-- js/transform.js | 9 ++-- js/ui.js | 33 +++++++++++++- js/xpath.js | 5 ++- llms.txt | 7 +++ 12 files changed, 233 insertions(+), 98 deletions(-) diff --git a/css/style.css b/css/style.css index e1a0470..f0dd5f1 100644 --- a/css/style.css +++ b/css/style.css @@ -1,3 +1,18 @@ +/* Fallback font with adjusted metrics to approximate JetBrains Mono dimensions. + Prevents layout shift (CLS) while the Google Fonts version loads — the browser + uses Courier New scaled to match JetBrains Mono's metrics instead of a visually + jarring fallback. The Google Fonts @font-face (loaded after this stylesheet) + overrides this declaration once the real font is available. */ +@font-face { + font-family: 'JetBrains Mono'; + src: local('Courier New'), local('Courier'); + size-adjust: 105%; + ascent-override: 83%; + descent-override: 20%; + line-gap-override: 0%; + font-display: swap; +} + :root { --bg-base: #06080d; --bg-panel: rgba(13, 20, 32, 0.65); @@ -291,6 +306,41 @@ transform: translateY(0); } + /* ── Mobile warning banner ── */ + .mobile-banner { + display: none; + position: fixed; + bottom: 0; left: 0; right: 0; + background: var(--warning); + color: #000; + font-family: var(--font-mono); + font-size: 12px; + font-weight: 500; + padding: 10px 16px; + z-index: 20000; + align-items: center; + gap: 10px; + box-shadow: 0 -2px 12px rgba(0,0,0,0.3); + } + .mobile-banner.visible { display: flex; } + .mobile-banner span { flex: 1; } + .mobile-banner button { + background: none; + border: 1px solid rgba(0,0,0,0.35); + border-radius: 4px; + color: #000; + cursor: pointer; + font-family: var(--font-mono); + font-size: 11px; + padding: 3px 8px; + white-space: nowrap; + } + .mobile-banner button:hover { background: rgba(0,0,0,0.12); } + body.light .mobile-banner { + background: #d97706; + box-shadow: 0 -2px 12px rgba(0,0,0,0.15); + } + /* ── HEADER — Linear/Raycast-style command bar ── Hairline dividers between groups, square buttons, monospace 12px, no glows, no rounded pills. The header is chrome — it should sit @@ -1003,7 +1053,12 @@ .console-body::-webkit-scrollbar-track { background: transparent; } .console-body::-webkit-scrollbar-thumb { background: var(--scrollbar); border-radius: var(--r-xs); } .log-line { line-height: 1.7; } - .log-line .ts { color: var(--text-dim); margin-right: 8px; } + .log-line .ts { color: var(--text-dim); margin-right: 6px; } + .log-line .log-type-icon { vertical-align: middle; margin-right: 5px; opacity: 0.7; flex-shrink: 0; } + .log-line.info .log-type-icon { color: var(--text-secondary); } + .log-line.success .log-type-icon { color: var(--success); } + .log-line.error .log-type-icon { color: var(--error); } + .log-line.warn .log-type-icon { color: var(--warning); } .log-line.info .msg { color: var(--text-secondary); } .log-line.success .msg { color: var(--success); } .log-line.error .msg { color: var(--error); } @@ -1534,6 +1589,8 @@ } /* ── EXAMPLES LIBRARY MODAL ── */ + body.modal-open { overflow: hidden; } + .ex-modal-backdrop { display: none; position: fixed; inset: 0; diff --git a/index.html b/index.html index e601c69..859c621 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ XSLTDebugX — Online XSLT 3.0 Debugger & IDE for SAP Cloud Integration - + @@ -50,9 +50,9 @@ - - - + + + + - + diff --git a/.github/docs/DEVELOPMENT.md b/.github/docs/DEVELOPMENT.md index e3907f6..8788895 100644 --- a/.github/docs/DEVELOPMENT.md +++ b/.github/docs/DEVELOPMENT.md @@ -180,8 +180,8 @@ Check that vendor libraries load correctly: | `css/style.css` | Local file | No cache | | `js/*.js` | Local files | No cache | | `pako.min.js` | `cdnjs.cloudflare.com` (gzip for share-URL payloads) | CDN cache | -| Monaco loader (`vs/loader.js`) + worker chunks | `cdn.jsdelivr.net/npm/monaco-editor@…` | CDN cache | -| Lucide icons | `cdn.jsdelivr.net/npm/lucide@…` | CDN cache | +| Monaco loader (`vs/loader.js`) + worker chunks | `cdn.jsdelivr.net/npm/monaco-editor@0.52.0/…` | CDN cache | +| Lucide icons | `cdn.jsdelivr.net/npm/lucide@1.34.0/…` | CDN cache | **Under Cloudflare Pages** (production deployment): - App code (`/js/*`, `/css/*`) — `Cache-Control: no-store`