[Frontend] Delete the orphaned CampaignNotes page #384
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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
CampaignDetailalready shows.Evidence
webapp/frontend/src/pages/CampaignNotes.jsx— grep acrosswebapp/frontend/srcfinds no inbound<Link>ornavigate()call to/campaigns/:id/notesanywhere.webapp/frontend/src/pages/CampaignNotes.jsx:1-7(docstring) describes "aggregated session journal for a campaign" — exactly whatwebapp/frontend/src/pages/CampaignDetail.jsx:2626-2660already renders from the samefetchCampaignNotescall, imported atCampaignDetail.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/notesroute andCampaignNotes.jsx. This is the audit's C1.Acceptance criteria
/campaigns/:id/notesroute is removed fromApp.jsx.CampaignNotes.jsxis deleted.CampaignNotesor the deleted route.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.Done in PR #515 (merged), shipping in v4.2.3.
CampaignNotes.jsxand its/campaigns/:id/notesroute are deleted; nothing linked to the page and it duplicated the campaign journal thatCampaignDetailalready renders from the same call. The "back to dashboard" blocked-state pattern #382 cites as the example to follow survives inCampaignHighlights.jsx.vite buildemits noCampaignNoteschunk and no reference remains insrc.