Harden CatPilot canvas and add cross-partition aggregation#6
Merged
Conversation
Mirror the fixes made for the awesome-copilot submission (PR #2359) so the in-repo extension stays identical to the published one. Security & correctness - Block cross-origin/non-loopback API requests (Host, Origin, Sec-Fetch-Site). - Harden memo/note reads against path traversal; sanitize returned filenames. - Escape markdown table cells (pipes/newlines) on write, decode on read. - Migration never overwrites: skip existing destinations, report skipped items, and validate the whole plan before persisting; persist config to disk. Cross-partition aggregation - Dashboard "last 3 days", activity timeline and report journal now aggregate across every storage partition (skipping dotfolders); editable views and counts stay scoped to the current partition. - Add last-7 / last-30 report periods. Accessibility & UI - Nav items become real buttons with aria-current; fix list double-escaping; sandbox the report iframe; require preview before applying config changes and surface skipped items / conflicts; responsive top nav; focus-visible actions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: cc565b3b-2964-445e-bb79-88466b6a5494
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mirrors the fixes made for the awesome-copilot submission (PR #2359) so the in-repo
.github/extensions/catpilot-canvasextension stays identical to the published one.Security & correctness
Sec-Fetch-Siteguards).Cross-partition aggregation
.trash/.git/.obsidian). Editable views and counts stay scoped to the current partition to avoid ID collisions.last-7/last-30report periods.Accessibility & UI
<button>elements witharia-currentandaria-hiddenicons; focus-visible outline + button reset.Validation
Ran against the live canvas: loopback requests → 200; spoofed
Host, cross-siteSec-Fetch-Site, and non-loopbackOrigin→ 403;last-7report generates; table cells round-trip pipes and newlines; migration plan enumerates every partition on a root change.