Skip to content

Remove legacy outbound trackback action - #163

Open
snoopdave wants to merge 1 commit into
masterfrom
entry-trackback-cleanup
Open

Remove legacy outbound trackback action#163
snoopdave wants to merge 1 commit into
masterfrom
entry-trackback-cleanup

Conversation

@snoopdave

@snoopdave snoopdave commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Remove the legacy outbound trackback action and its supporting code.
  • Remove the obsolete action configuration, editor remnants, and the
    now-unreferenced configuration property that went with it.
  • Add regression coverage confirming that the entry actions expose only their
    current methods.

Rationale

The editor stopped presenting outbound trackback controls some time ago, but
the action and its supporting code remained in the application with nothing
reaching them. This removes that dormant path. Incoming trackback handling is
unchanged.

User impact

Manual outbound trackback sending from the entry editor is no longer
available. Entry creation, entry editing, and incoming trackbacks otherwise
behave as before.

Validation

  • mvn -pl app clean verify -Dnet.bytebuddy.experimental=true — 160 tests,
    0 failures, 1 skipped.
  • Confirmed the packaged JAR no longer contains the removed classes.

@snoopdave
snoopdave marked this pull request as ready for review August 15, 2026 20:00
@snoopdave
snoopdave marked this pull request as draft August 15, 2026 20:24

@mbien mbien left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

makes sense

import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;

class EntryTrackbackRemovalTest {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nitpick: regression tests for code removal are probably not super useful, no? (i know LLMs love to generate tests for everything)

@mraible mraible left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed with the same multi-agent find-and-verify pass we've been using on the ROL-2183 stack. No runtime defects: the action, the allowed-method, and the JSP remnant are all gone and nothing reaches the removed path. Two leftovers outside the diff worth sweeping in a follow-up or here:

  • docs/roller-user-guide.adoc still has the "Sending trackbacks" section (around lines 788-811) telling users to scroll down and click Send Trackback.
  • The trackback i18n keys (error.trackback, weblogEdit.trackback, weblogEdit.sendTrackback, weblogEdit.trackbackUrl and the success/failure/error variants) survive in ApplicationResources.properties and the de, es, fr, ja, ko, ru, and zh_CN bundles, plus the div.trackbackUrl rule in themes/base.css. Nothing renders them anymore.

One small inline note on the regression test. Approving.

NodeList allowedMethods = action.getElementsByTagName("allowed-methods");
assertEquals(1, allowedMethods.getLength());
String methods = allowedMethods.item(0).getTextContent();
assertFalse(Set.of(methods.trim().split("\\s*,\\s*")).contains("trackback"));

@mraible mraible Aug 31, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tiny one: Set.of throws IllegalArgumentException on duplicate elements, so a duplicated method name in allowed-methods would fail this test with "duplicate element" instead of an assertion about trackback. List.of(...).contains(...) does the same job without that trap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants