From 97501875b879c82afb6b3b17e2fac73e7ab08c5a Mon Sep 17 00:00:00 2001 From: Pierre Gironde Date: Sun, 11 Oct 2026 11:00:20 +0200 Subject: [PATCH] made error/warning button push more obvious --- vscode-appdaemon/AGENTS.md | 25 +++++++++++++++++++ vscode-appdaemon/media/logExplorer.css | 11 ++++++++ vscode-appdaemon/media/logExplorer.html | 2 +- vscode-appdaemon/vscode-appdaemon-0.2.0.vsix | Bin 55621 -> 55823 bytes 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 vscode-appdaemon/AGENTS.md diff --git a/vscode-appdaemon/AGENTS.md b/vscode-appdaemon/AGENTS.md new file mode 100644 index 0000000..e5a62a8 --- /dev/null +++ b/vscode-appdaemon/AGENTS.md @@ -0,0 +1,25 @@ +# VS Code extension instructions + +## VS Code extension + +After every change to this extension, complete the update by compiling, +packaging, and installing the extension in the connected VS Code environment. +This includes changes limited to the Log Explorer HTML, CSS, or JavaScript. + +- Keep the current extension version unless the user explicitly requests a + version change. Do not bump `package.json` or `package-lock.json` automatically. +- From this directory, run `npm run compile` and the checks appropriate to + the change. Report any existing test failures separately. +- Package with `vsce package --out vscode-appdaemon-.vsix`, + using the installed or cached `@vscode/vsce` CLI when available. Overwrite the + existing VSIX for that version; never pass a version increment to `vsce`. +- Install that exact VSIX using + `code --install-extension ./vscode-appdaemon-.vsix --force`. +- Confirm the installed version with `code --list-extensions --show-versions`. + When possible, verify the installed changed files match the packaged files. +- Tell the user to reload the VS Code window to activate the update. If the + connected CLI is unavailable or installation fails, report that limitation + clearly and provide the generated VSIX path; do not claim it was installed. + +The user's request authorizes this routine local build and installation after +extension edits. Do not ask for additional conversational confirmation. diff --git a/vscode-appdaemon/media/logExplorer.css b/vscode-appdaemon/media/logExplorer.css index 7ed7e7d..8896e50 100644 --- a/vscode-appdaemon/media/logExplorer.css +++ b/vscode-appdaemon/media/logExplorer.css @@ -14,3 +14,14 @@ summary{display:grid;grid-template-columns:auto minmax(0,1fr) repeat(3,max-conte summary .last-log{grid-column:1/-1;min-width:0} .rows{max-height:min(45vh,420px);overflow-y:auto;scrollbar-gutter:stable;overflow-anchor:none} .app-label{flex-direction:row;align-items:center;gap:6px}.app-label .name{min-width:0}.app-link{color:var(--accent);font-size:13px;line-height:1;text-decoration:none;white-space:nowrap}.app-link:hover{text-decoration:underline}.app-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px} + +/* Keep severity counts distinct from the currently selected filter. */ +#error-count::before,#warning-count::before{content:"";display:inline-block;width:1.2em} +#error-count[aria-pressed="true"],#warning-count[aria-pressed="true"]{ + color:var(--vscode-button-foreground,#fff); + background:var(--vscode-button-background,#0e639c); + border-color:var(--vscode-contrastActiveBorder,var(--accent)); + box-shadow:inset 0 2px 4px rgba(0,0,0,.35); +} +#error-count[aria-pressed="true"]::before,#warning-count[aria-pressed="true"]::before{content:"✓"} +#error-count[aria-pressed="true"]:hover,#warning-count[aria-pressed="true"]:hover{background:var(--vscode-button-hoverBackground,#1177bb)} diff --git a/vscode-appdaemon/media/logExplorer.html b/vscode-appdaemon/media/logExplorer.html index 00a5fe3..bfc344a 100644 --- a/vscode-appdaemon/media/logExplorer.html +++ b/vscode-appdaemon/media/logExplorer.html @@ -3,7 +3,7 @@ AppDaemon · Logs -

AppDaemon Logs

Reading logs…

+

AppDaemon Logs

Reading logs…

Applications

Log details

Select a log to view its details.

The base AppDaemon log format does not include causal links.

diff --git a/vscode-appdaemon/vscode-appdaemon-0.2.0.vsix b/vscode-appdaemon/vscode-appdaemon-0.2.0.vsix index 65755590bc5b094a683baeb683db836c2fad60cd..a033bcc8ee0d941a6596dd19aa9734b672e40d55 100644 GIT binary patch delta 4331 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 delta 4144 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