Introduced in #466
CompletableFuture.runAsync(...) here has no exceptionally/whenComplete handler. If pluginService.enablePlugin or pluginService.save throws (DB failure, constraint violation, etc.), the exception is consumed by the common ForkJoinPool and the user gets no feedback while the UI may already reflect the new state (e.g., the toggle is selected). Consider routing failures through the existing notification/dialog plumbing and, for the toggle, reverting the visible state on failure on the FX thread.
See related note: #466 (comment)
Introduced in #466
CompletableFuture.runAsync(...)here has noexceptionally/whenCompletehandler. IfpluginService.enablePluginorpluginService.savethrows (DB failure, constraint violation, etc.), the exception is consumed by the common ForkJoinPool and the user gets no feedback while the UI may already reflect the new state (e.g., the toggle isselected). Consider routing failures through the existing notification/dialog plumbing and, for the toggle, reverting the visible state on failure on the FX thread.See related note: #466 (comment)