Skip to content

Conversation

@tcheeric
Copy link
Owner

Summary

  • The API module had many missing Javadocs. This improves maintainability and aligns docs with NIP specs. No functional changes.

What changed?

  • Add class-level Javadocs with NIP links across API NIP helpers and core client classes.
  • Complete method-level Javadocs with parameter/return descriptions.
  • Remove/replace dangling/placeholder Javadocs.
  • No behavior changes.

Files

  • API NIPs: NIP01, NIP02, NIP03, NIP04, NIP05, NIP09, NIP12, NIP14, NIP15, NIP20, NIP23, NIP25, NIP28, NIP30, NIP31, NIP32, NIP40, NIP42, NIP44, NIP46, NIP52, NIP57, NIP60, NIP61, NIP65,
    NIP99
    • Example: F:nostr-java-api/src/main/java/nostr/api/NIP01.java†L31-L35, L120-L139, L203-L216, L271-L291
  • Core client: NostrIF, EventNostr, NostrSpringWebSocketClient, WebSocketClientHandler
    • Example: F:nostr-java-api/src/main/java/nostr/api/NostrIF.java†L1-L8, L14-L121
  • Factories: EventFactory, GenericEventFactory, BaseTagFactory, BaseMessageFactory, MessageFactory, EventMessageFactory
    • Example: F:nostr-java-api/src/main/java/nostr/api/factory/EventFactory.java†L13-L19, L29-L65

BREAKING

  • None.

Review focus

  • Accuracy with NIP semantics (NIP-33 addressable events, NIP-57 zap tags, NIP-52 calendar tags).
  • Class-level summaries and links.

Checklist

  • Scope ≤ 300 lines (stacked; doc-only across files)
  • Title is verb + object
  • Links/why now explained
  • No breaking change
  • Tests/docs updated (Javadocs only)

Testing

  • ✅ mvn -q verify (api module)
    • JUnit and integration tests executed; no issues from docs.
    • Example output snippets:
    • “Container scsibug/nostr-rs-relay:latest started in PT0.6s”
    • Tests covered: NIP01 text notes, NIP04 encrypt/decrypt, NIP57 zap requests/receipts, NIP52 calendar, NIP28 channels, NIP99 listings.
  • ✅ mvn -q -DskipTests=false -pl nostr-java-api -am verify (from repo root)
    • Built dependencies and ran upstream tests successfully; same passing signals and Testcontainers usage.
  • ⚠️ Pre-existing warnings: Mockito inline-mock-maker and JDK agent warnings; unrelated to this change.

Notes

  • Removed dangling/placeholder Javadoc tags (no empty @param/@return remain).
  • No functional modifications; documentation-only.
  • Version bump applied (next minor): parent and modules to 0.2.3.0.

Version bump details

  • Parent: F:pom.xml†L6-L8, L77-L79 → 0.2.3.0
  • Modules: F:nostr-java-*/pom.xml parent version → 0.2.3.0 (api, base, client, crypto, encryption, event, examples, id, util)

@github-actions
Copy link

Qodana Community for JVM

6 new problems were found

Inspection name Severity Problems
Caught exception is immediately rethrown 🔶 Warning 3
AutoCloseable used without 'try'-with-resources 🔶 Warning 1
Suspicious variable/parameter name combination 🔶 Warning 1
Type parameter hides visible type 🔶 Warning 1

☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

@tcheeric tcheeric merged commit 1a7673b into develop Aug 31, 2025
3 checks passed
@tcheeric tcheeric deleted the docs/api-javadocs branch August 31, 2025 02:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants