Conversation
- Add BugReportWidget.vue: persistent side-tab with expandable form, success/error states, responsive design (side panel on desktop, bottom sheet on mobile), dark mode support, and prefers-reduced-motion - Add Cloudflare Pages Function (docs/functions/api/report-bug.ts): creates GitHub issues via GitHub App installation token with honeypot anti-spam, IP-based rate limiting via KV, input validation, and CORS restricted to docs domain - Add VitePress custom theme extending default with layout-bottom slot - Add .github/ISSUE_TEMPLATE/bug.yml as fallback for direct GitHub reports - Add @cloudflare/workers-types and docs/functions/tsconfig.json - Exclude docs/ from main tsconfig to avoid type conflicts Closes #145
- Fix PKCS#1 vs PKCS#8 PEM detection: use "BEGIN RSA" presence to correctly identify PKCS#1 format (GitHub App PEMs) vs PKCS#8 - Add aria-modal="true" and focus trap to dialog panel for screen reader and keyboard-only accessibility - Return focus to trigger button when dialog closes - Extract pure utility functions to utils.ts for testability - Add 27 unit tests covering validation, CORS, base64url encoding, ASN.1 length encoding, and buffer concatenation
Import CATEGORIES and MIN_DESCRIPTION_LENGTH from shared utils into the Vue widget instead of duplicating values. Add explicit local variable narrowing in validateReport for stricter TypeScript compatibility.
The trigger button uses v-if and is recreated on state change. Focus must wait for DOM patch before the new element ref is available.
GitHub Pages returns 405 for POST requests because it's static-only hosting. The CF Pages Function in docs/functions/ was never deployed. Solution: standalone Cloudflare Worker at docs/worker/ with route rule docs.gitlab-mcp.sw.foundation/api/* intercepting requests before GitHub Pages. - Add docs/worker/ with wrangler.toml and Worker-format handler - Add deploy-worker job to docs.yml CI workflow - Add https://docs.gitlab-mcp.sw.foundation to ALLOWED_ORIGINS - Update test expectation for new primary origin Closes #153
- Widget: move from vertical side tab to floating bottom-right button with pulse animation and "Report Bug" label (more discoverable) - Logo: add project logo to navbar and hero section on landing page - Layout: add custom CSS with @media queries for wider content on screens >1440px and >1600px (reduces wasted horizontal space)
…d-report-a-bug-feedback-widget-to-docum # Conflicts: # docs/.vitepress/theme/components/BugReportWidget.vue # docs/.vitepress/theme/index.ts # docs/functions/api/utils.ts # tests/unit/docs/report-bug-handler.test.ts
4th level domain (docs.gitlab-mcp.sw.foundation) is not covered by Cloudflare free SSL certificate (only *.sw.foundation). Moving to 3rd level enables Cloudflare proxy and Worker route interception. - CNAME: gitlab-mcp.sw.foundation - Worker route: gitlab-mcp.sw.foundation/api/* - MCP server moves to gm.sw.foundation (DNS only, via lb1 Envoy)
There was a problem hiding this comment.
Pull request overview
This PR migrates the documentation site from a 4th-level subdomain (docs.gitlab-mcp.sw.foundation) to a 3rd-level subdomain (gitlab-mcp.sw.foundation) to enable Cloudflare free SSL and proxy support. The migration introduces a standalone Cloudflare Worker to handle the /api/* routes via route interception before GitHub Pages serves static content.
Changes:
- Update CNAME and all documentation links to the new domain
- Add new Cloudflare Worker implementation with wrangler configuration
- Update CORS allowed origins in both Worker and utilities
- Add Worker deployment job to GitHub Actions workflow
- Add logo assets and enhance documentation UI styling
Reviewed changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
docs/public/CNAME |
Updated to point to new 3rd-level domain |
docs/worker/wrangler.toml |
New Worker configuration with route pattern for sw.foundation zone |
docs/worker/tsconfig.json |
TypeScript configuration for Worker compilation |
docs/worker/src/index.ts |
New standalone Worker implementing bug report API with GitHub App authentication |
docs/worker/package.json |
Worker dependencies for Cloudflare Workers and TypeScript |
docs/functions/api/utils.ts |
Added new domain to ALLOWED_ORIGINS list |
tests/unit/docs/report-bug-handler.test.ts |
Updated expected CORS header to reflect new production domain |
README.md |
Updated all documentation links to new domain |
.github/workflows/docs.yml |
Added deploy-worker job for Worker deployment |
docs/.vitepress/config.mts |
Added logo configuration |
docs/.vitepress/theme/index.ts |
Imported custom style overrides |
docs/.vitepress/theme/style.css |
New custom theme styles for wider layout and hero image sizing |
docs/.vitepress/theme/components/BugReportWidget.vue |
Redesigned from side tab to floating bottom-right button with pulse animation |
docs/index.md |
Added hero logo image configuration |
docs/public/logo.png |
New logo asset for navigation header |
- Delete docs/functions/api/report-bug.ts (never executed on GitHub Pages) - Rewrite handler tests to import and test the CF Worker directly - Add needs:deploy dependency to deploy-worker CI job
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
- Add favicon.ico + 16/32px PNGs from project logo - Add og:image (1200x630) for link preview in messengers - Crop hero image by 24px from each side for better framing - Configure head meta in VitePress (favicon, OG tags)
sw-release-bot bot
pushed a commit
that referenced
this pull request
Jan 23, 2026
## [6.33.3](v6.33.2...v6.33.3) (2026-01-23) ### Bug Fixes * **docs:** migrate domain from docs.gitlab-mcp to gitlab-mcp.sw.foundation ([#155](#155)) ([42ebef3](42ebef3)), closes [#145](#145) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [PKCS#1](https://github.com/structured-world/PKCS/issues/1) [PKCS#8](https://github.com/structured-world/PKCS/issues/8) [#153](#153)
|
🎉 This PR is included in version 6.33.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
4 tasks
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.
Summary
docs.gitlab-mcp.sw.foundationto 3rd levelgitlab-mcp.sw.foundation*.sw.foundation, not*.gitlab-mcp.sw.foundationChanges
CNAMEtogitlab-mcp.sw.foundationwrangler.tomlALLOWED_ORIGINSin worker and utilsRequired DNS changes (Cloudflare sw.foundation zone)
gitlab-mcpCNAME →structured-world.github.io(Proxied)gmA/CNAME → lb1 target (DNS only)docs.gitlab-mcprecordTest plan
yarn test— 3746 passedcurl https://gitlab-mcp.sw.foundation/api/report-bugreturns Worker response