Open Issues Need Help
View All on GitHubAI Summary: Implement configuration properties in a Spring Boot application to make the path of a WebSocket documentation UI configurable and allow disabling the UI entirely. This involves modifying the existing `BasicWebSocketDocController` and leveraging Spring Boot's `@ConditionalOnProperty` for conditional loading and property placeholders for dynamic path setting.
AI Summary: Modify the WebSocket documentation library to eliminate the need for `@ComponentScan` and `application.properties` configuration. The library should automatically detect and document WebSocket endpoints without requiring users to manually specify package names or properties. This involves implementing automatic package scanning and providing a sensible default for the base package if none is explicitly defined.
AI Summary: Implement caching for the `getTopicMeta()` method in the `websocket-doc-ui` Spring Boot project to improve the performance of the `/websocket-docs` endpoint. This involves choosing a suitable caching mechanism (e.g., `ConcurrentHashMap`, `@Cacheable`, or a custom solution) and integrating it to avoid redundant metadata retrieval.
AI Summary: Refactor two methods, `getTypeScriptTypeName` and `isPrimitiveOrWrapperOrString`, currently residing in the `BasicClassToJson` class, into a new dedicated class (e.g., `TypeScriptTypeMapper`) to improve code organization, maintainability, and testability, adhering to the Single Responsibility Principle.
AI Summary: Fix a bug in the `websocket-doc-ui` library where the generated schema for enums contains unnecessary recursive references to `$VALUES`. The solution involves modifying the schema generation logic to exclude internal enum fields like `name`, `ordinal`, and `$VALUES`, and potentially adding an option to serialize enums as a TypeScript union type.
AI Summary: Enhance the `websocket-doc-ui` library's JSON example generation to correctly display the type information for List fields. Currently, List fields are shown as empty arrays `[]` without specifying the type of elements within the list. The task involves modifying the `generateMap` method in the `ClassToJson` class to use Java reflection to retrieve and include the generic type parameter of the List (e.g., `String` in `List<String>`) in the generated JSON example.