[Frontend] Delete the orphaned CampaignNotes page #384

Closed
opened 2026-08-25 20:42:21 +00:00 by claude-bot · 2 comments
Contributor

Impact: LOW

Found in the August 2026 session lifecycle review (#319).

What the user experiences

Nothing — this page cannot be reached through any link in the product. It exists only if a user types the URL directly, and when they do, it renders the exact same "aggregated session journal" data the Campaign Journal tab on CampaignDetail already shows.

Evidence

  • webapp/frontend/src/pages/CampaignNotes.jsx — grep across webapp/frontend/src finds no inbound <Link> or navigate() call to /campaigns/:id/notes anywhere.
  • webapp/frontend/src/pages/CampaignNotes.jsx:1-7 (docstring) describes "aggregated session journal for a campaign" — exactly what webapp/frontend/src/pages/CampaignDetail.jsx:2626-2660 already renders from the same fetchCampaignNotes call, imported at CampaignDetail.jsx:28.

Why it matters for a hosted product

An unreachable, fully-duplicated page is a maintenance liability with zero user benefit — every future change to the notes-aggregation logic has to remember this second copy exists.

Proposed fix

Delete the /campaigns/:id/notes route and CampaignNotes.jsx. This is the audit's C1.

Acceptance criteria

  • The /campaigns/:id/notes route is removed from App.jsx.
  • CampaignNotes.jsx is deleted.
  • No remaining code references CampaignNotes or the deleted route.
**Impact: LOW** Found in the August 2026 session lifecycle review (#319). ## What the user experiences Nothing — this page cannot be reached through any link in the product. It exists only if a user types the URL directly, and when they do, it renders the exact same "aggregated session journal" data the Campaign Journal tab on `CampaignDetail` already shows. ## Evidence - `webapp/frontend/src/pages/CampaignNotes.jsx` — grep across `webapp/frontend/src` finds no inbound `<Link>` or `navigate()` call to `/campaigns/:id/notes` anywhere. - `webapp/frontend/src/pages/CampaignNotes.jsx:1-7` (docstring) describes "aggregated session journal for a campaign" — exactly what `webapp/frontend/src/pages/CampaignDetail.jsx:2626-2660` already renders from the same `fetchCampaignNotes` call, imported at `CampaignDetail.jsx:28`. ## Why it matters for a hosted product An unreachable, fully-duplicated page is a maintenance liability with zero user benefit — every future change to the notes-aggregation logic has to remember this second copy exists. ## Proposed fix Delete the `/campaigns/:id/notes` route and `CampaignNotes.jsx`. This is the audit's C1. ## Acceptance criteria - [ ] The `/campaigns/:id/notes` route is removed from `App.jsx`. - [ ] `CampaignNotes.jsx` is deleted. - [ ] No remaining code references `CampaignNotes` or the deleted route.
Author
Contributor

Picking this up as part of v4.3.0 phase 1 (#514), shipping early as v4.2.3, on the frontend lane with #383 and #376. Route and page go; the "Back to dashboard" blocked-state pattern #382 cites survives in CampaignHighlights.jsx.

Picking this up as part of v4.3.0 phase 1 (#514), shipping early as v4.2.3, on the frontend lane with #383 and #376. Route and page go; the "Back to dashboard" blocked-state pattern #382 cites survives in `CampaignHighlights.jsx`.
Author
Contributor

Done in PR #515 (merged), shipping in v4.2.3. CampaignNotes.jsx and its /campaigns/:id/notes route are deleted; nothing linked to the page and it duplicated the campaign journal that CampaignDetail already renders from the same call. The "back to dashboard" blocked-state pattern #382 cites as the example to follow survives in CampaignHighlights.jsx. vite build emits no CampaignNotes chunk and no reference remains in src.

Done in PR #515 (merged), shipping in v4.2.3. `CampaignNotes.jsx` and its `/campaigns/:id/notes` route are deleted; nothing linked to the page and it duplicated the campaign journal that `CampaignDetail` already renders from the same call. The "back to dashboard" blocked-state pattern #382 cites as the example to follow survives in `CampaignHighlights.jsx`. `vite build` emits no `CampaignNotes` chunk and no reference remains in `src`.
rbrooks referenced this issue from a commit 2026-09-06 02:00:15 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#384
No description provided.