diff --git a/src/main/java/org/operaton/fitpub/controller/ActivityController.java b/src/main/java/org/operaton/fitpub/controller/ActivityController.java index f1c62aa..a43b28b 100644 --- a/src/main/java/org/operaton/fitpub/controller/ActivityController.java +++ b/src/main/java/org/operaton/fitpub/controller/ActivityController.java @@ -136,49 +136,72 @@ public class ActivityController { /** * Format activity content for ActivityPub. + * Uses plain text with Unicode symbols for maximum compatibility across Fediverse platforms. */ private String formatActivityContent(Activity activity) { StringBuilder content = new StringBuilder(); + // Title (if present) if (activity.getTitle() != null && !activity.getTitle().isEmpty()) { - content.append("
").append(escapeHtml(activity.getDescription())).append("
"); + content.append(activity.getDescription()).append("\n\n"); } - content.append("");
- content.append("Activity Type: ").append(activity.getActivityType()).append("
");
+ // Activity type with emoji
+ String activityEmoji = getActivityEmoji(activity.getActivityType());
+ content.append(activityEmoji).append(" ").append(activity.getActivityType());
+ // Metrics on separate lines
if (activity.getTotalDistance() != null) {
- content.append("Distance: ")
- .append(String.format("%.2f km", activity.getTotalDistance().doubleValue() / 1000.0))
- .append("
");
+ content.append("\nπ ")
+ .append(String.format("%.2f km", activity.getTotalDistance().doubleValue() / 1000.0));
}
if (activity.getTotalDurationSeconds() != null) {
long hours = activity.getTotalDurationSeconds() / 3600;
long minutes = (activity.getTotalDurationSeconds() % 3600) / 60;
long seconds = activity.getTotalDurationSeconds() % 60;
- content.append("Duration: ");
+ content.append("\nβ±οΈ ");
if (hours > 0) {
content.append(hours).append("h ");
}
- content.append(minutes).append("m ").append(seconds).append("s
");
+ content.append(minutes).append("m ").append(seconds).append("s");
}
if (activity.getElevationGain() != null) {
- content.append("Elevation Gain: ")
- .append(String.format("%.0f m", activity.getElevationGain()))
- .append("
");
+ content.append("\nβ°οΈ ")
+ .append(String.format("%.0f m", activity.getElevationGain()));
}
- content.append("