Skip to content

fix(api): point the Activity Log sidebar entry at its real page - #12396

Merged
mergify[bot] merged 1 commit into
mainfrom
devs/sileht/api-eventlogs-404/point-activity-log-sidebar-entry-real-page--400be775
Aug 17, 2026
Merged

fix(api): point the Activity Log sidebar entry at its real page#12396
mergify[bot] merged 1 commit into
mainfrom
devs/sileht/api-eventlogs-404/point-activity-log-sidebar-entry-real-page--400be775

Conversation

@sileht

@sileht sileht commented Aug 15, 2026

Copy link
Copy Markdown
Member

The OpenAPI spec renamed the eventlogs tag to activity_log in a schema
sync, following the product rename of Event Logs to the Activity Log. Every
/api/* page is generated from those tags by src/pages/api/[tag].astro, so
the rename deleted /api/eventlogs and created /api/activity-log. The
sidebar entry was never updated, and it renders on every page of the site: a
404 reachable in one click from 225 pages.

Point the entry at /api/activity-log and rename it to match the product.
Redirect the old URL, which has been live long enough to be indexed and
bookmarked.

TAG_LABELS / TAG_DESCRIPTIONS are keyed by spec tag, so the rename also
orphaned the curated copy for this section — the generated page silently fell
back to humanizeTag plus a generated sentence. Rekey both entries to
activity_log rather than deleting them, and widen the description: the
Activity Log is a timeline of every Mergify event for a repository, not just
pull request activity.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

The OpenAPI spec renamed the `eventlogs` tag to `activity_log` in a schema
sync, following the product rename of Event Logs to the Activity Log. Every
`/api/*` page is generated from those tags by `src/pages/api/[tag].astro`, so
the rename deleted `/api/eventlogs` and created `/api/activity-log`. The
sidebar entry was never updated, and it renders on every page of the site: a
404 reachable in one click from 225 pages.

Point the entry at `/api/activity-log` and rename it to match the product.
Redirect the old URL, which has been live long enough to be indexed and
bookmarked.

`TAG_LABELS` / `TAG_DESCRIPTIONS` are keyed by spec tag, so the rename also
orphaned the curated copy for this section — the generated page silently fell
back to `humanizeTag` plus a generated sentence. Rekey both entries to
`activity_log` rather than deleting them, and widen the description: the
Activity Log is a timeline of every Mergify event for a repository, not just
pull request activity.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: I400be77552128bab6a8965b4b8bb5dae322f6802
Copilot AI lite review requested due to automatic review settings August 15, 2026 20:18
@mergify
mergify Bot deployed to Mergify Merge Protections August 15, 2026 20:18 Active
@sileht

sileht commented Aug 15, 2026

Copy link
Copy Markdown
Member Author

This pull request is part of a Mergify stack:

# Pull Request Link
1 fix(api): point the Activity Log sidebar entry at its real page #12396 👈
2 fix(ci): make the link check actually check links #12397
3 feat(ci): fail the build on a sidebar link to a deleted /api page #12398

@mergify

mergify Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 6 merge protections satisfied — ready to merge.

Show 6 satisfied protections

🟢 🤖 Continuous Integration

  • all of:
    • check-success = build
    • check-success = lint
    • check-success = test
    • any of:
      • check-success = test-broken-links
      • label = ignore-broken-links
    • any of:
      • check-success=Cloudflare Pages
      • -head-repo-full-name~=^Mergifyio/

🟢 👀 Review Requirements

  • any of:
    • #approved-reviews-by >= 2
    • author = dependabot[bot]
    • all of:
      • author = mergify-ci-bot
      • -head ~= ^docs-agent/

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|internal|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?!?:

🟢 🔎 Reviews

  • #changes-requested-reviews-by = 0
  • #review-requested = 0
  • #review-threads-unresolved = 0

🟢 📕 PR description

  • body ~= (?ms:.{48,})

🟢 🚦 Auto-queue

When all merge protections are satisfied, this pull request will be queued automatically.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the docs site’s API Reference navigation and curated tag metadata to match the OpenAPI tag rename from eventlogs to activity_log, ensuring the “Activity Log” API page is reachable from the global sidebar and preserving the old URL via redirects.

Changes:

  • Update the API sidebar entry from “Event Logs” (/api/eventlogs) to “Activity Log” (/api/activity-log).
  • Rekey curated OpenAPI tag label/description from eventlogs to activity_log and refine the description copy.
  • Add redirects from /api/eventlogs (with and without trailing slash) to the new Activity Log page.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/content/navItems.tsx Updates the API sidebar entry label and path to the new Activity Log page.
src/components/ApiReference/openapi.ts Rekeys and updates curated tag labels/descriptions to match the renamed OpenAPI tag.
public/_redirects Adds redirects to preserve the old /api/eventlogs URL.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread public/_redirects
@mergify
mergify Bot requested a review from a team August 15, 2026 20:21
@sileht
sileht marked this pull request as ready for review August 15, 2026 20:58
@mergify
mergify Bot requested a review from a team August 17, 2026 06:49
@mergify

mergify Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 2 minutes 51 seconds in the queue, including 2 minutes 8 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Aug 17, 2026
@mergify
mergify Bot merged commit e241ea7 into main Aug 17, 2026
11 checks passed
@mergify
mergify Bot deleted the devs/sileht/api-eventlogs-404/point-activity-log-sidebar-entry-real-page--400be775 branch August 17, 2026 08:53
@mergify mergify Bot removed the queued label Aug 17, 2026
mergify Bot pushed a commit that referenced this pull request Aug 17, 2026
`check:links` passed `--skip 'https?://'` to drop off-site links. linkinator
applies skip rules to the absolute URL of everything it fetches, and when it
is pointed at a directory it serves the build over HTTP and crawls it — so
that unanchored rule matched its own crawl root. The command exited 0 having
scanned zero links, and had been doing so on every pull request: the sidebar
link to the deleted `/api/eventlogs` page shipped through a green link check
that never requested a single URL.

Anchor the rule and exclude the local server. Both of its hostnames have to
be excluded, not just one: linkinator binds to `127.0.0.1` but builds its
trailing-slash redirects against `localhost`, so covering only the bind
address still skips nearly every page at the redirect hop.

The check now crawls 1355 links. It finds no pre-existing breakage — with the
previous commit in place the site is clean — and it fails on a reintroduced
`/api/eventlogs`.

Three supporting changes:

- Move the settings into `linkinator.config.mjs`. The `.json` linkinator loads
  by default was already dead (CLI flags replace config wholesale, so its
  `skip` list, `^/api` included, never applied). `.mjs` also lets the rule
  carry the comment explaining the trap and be asserted in a unit test — the
  failure mode here is a check that silently stops checking, which no amount
  of green CI would reveal.
- Crawl `/enterprise/` as a second entry point. Nothing outside that section
  links into it — it renders its own nav tree and is filtered out of the
  sitemap — so recursing from `/` alone reaches none of its eight pages and a
  broken link there would pass forever.
- Lower the concurrency and enable `retryErrors`. Now that pages are actually
  fetched, linkinator's own static server drops an occasional connection,
  surfacing as a status-0 failure on a different file each run. `retryErrors`
  covers status 0, 5xx and 429 only — a 404 is never retried, so this costs
  nothing in strictness. Its count and jitter are left on the built-in
  defaults on purpose: meow declares defaults for both, so a value set in the
  config file would be silently overridden — the same class of dead config as
  the `.json` this replaces.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Depends-On: #12396
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants