333b21224d45d3f004b11b71cc2ab3c67d081783
Move the classify-uncategorized endpoint from synchronous to async. The controller now queues a ClassificationJob to an unbounded channel and returns 202 Accepted. A new BackgroundService processes jobs and pushes results (or errors) to the user via SignalR. The frontend listens for the AiClassificationComplete event and surfaces it in the notification system. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
Languages
C#
65%
Vue
30.2%
TypeScript
4.6%
Dockerfile
0.2%