Skip to content

Merge upstream bug fixes (#176, #188, #185, #163, #97)#2

Merged
raimannma merged 5 commits into
mainfrom
merge/upstream-bugfixes
Jun 30, 2026
Merged

Merge upstream bug fixes (#176, #188, #185, #163, #97)#2
raimannma merged 5 commits into
mainfrom
merge/upstream-bugfixes

Conversation

@raimannma

Copy link
Copy Markdown
Owner

Merges five clean, low-risk upstream bug fixes from benjitaylor/agentation. Each was reviewed against the project values (bundle size, surgical changes, no new deps, no binaries). All five were clean and focused, so each was cherry-picked with original author attribution preserved, plus a Co-Authored-By trailer.

Included fixes

Upstream Title Approach Files
benjitaylor#176 (@panrafal) Layout-mode notes missing from MCP JSON and Markdown copy cherry-pick package/src/components/design-mode/output.ts, package/src/components/page-toolbar-css/index.tsx
benjitaylor#188 (@michalvanek) Persist sourceFile in MCP annotation store cherry-pick mcp/src/server/{mcp,sqlite}.ts, mcp/src/types.ts, example docs/schema
benjitaylor#185 (@pcamarajr) Scope design-mode svg[fill=none] reset under overlay containers (closes benjitaylor#181) cherry-pick package/src/components/design-mode/styles.module.scss
benjitaylor#163 (@zhaoqirong) Clipboard fallback for non-secure contexts (HTTP on LAN IPs) cherry-pick package/src/utils/clipboard.ts (+ tests), page-toolbar-css/index.tsx
benjitaylor#97 (@bianbiandashen) Exponential backoff retry for webhook delivery cherry-pick mcp/src/server/http.ts

benjitaylor#189 was intentionally ignored — superseded by benjitaylor#163.

Review notes

Build / test

  • pnpm build (package) — success
  • pnpm --filter agentation test — 88 passed (incl. 5 new clipboard tests)
  • pnpm --filter agentation-mcp build — success

🤖 Generated with Claude Code

pcamarajr and others added 5 commits June 30, 2026 14:48
The unscoped reset in design-mode/styles.module.scss leaked into host
page SVGs that rely on fill="none" with CSS-based fills (e.g. Tailwind
fill-current, Lucide icons). PR benjitaylor#136 fixed the same regression in
page-toolbar and annotation-popup but missed design-mode.

Scope the rule under `.overlay` and `.rearrangeOverlay` — the two
top-level wrappers that contain all design-mode SVGs — matching the
existing pattern.

Fixes benjitaylor#181

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`navigator.clipboard.writeText` requires a secure context (HTTPS, localhost,
or 127.0.0.1). When the page is served over plain HTTP on a LAN IP such as
`http://10.2.3.4:3000`, the Clipboard API is unavailable and the copy button
silently fails.

This adds a `copyTextToClipboard` utility that tries the modern Clipboard API
first, then falls back to the legacy `document.execCommand("copy")` approach
which works in all contexts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Webhooks now retry on transient failures with exponential backoff:

- Retries on network errors, 5xx server errors, and 429 rate limiting
- Exponential backoff with jitter to prevent thundering herd
- Configurable via environment variables:
  - AGENTATION_WEBHOOK_MAX_RETRIES (default: 3)
  - AGENTATION_WEBHOOK_BASE_DELAY_MS (default: 1000)
  - AGENTATION_WEBHOOK_MAX_DELAY_MS (default: 30000)
  - AGENTATION_WEBHOOK_TIMEOUT_MS (default: 10000)
- Non-blocking: retries run in background
- Detailed logging for debugging retry behavior

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@raimannma raimannma self-assigned this Jun 30, 2026
@raimannma raimannma merged commit 045ff72 into main Jun 30, 2026
@raimannma raimannma deleted the merge/upstream-bugfixes branch June 30, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Global svg[fill=none] rule in design-mode CSS leaks into host app (regression of #58)

5 participants