a2e51a301113cbee936d8c2d164d1b9b6f772b6c
The detail is now a persistent side panel, so quick clicks can interleave requests: only the latest request's result is applied, and a failed load shows an error state with a retry button instead of spinning forever. Also correct the position history comments: only plans from before plan 3.1 could hand their position over to a replacing plan.
Languages
Python
69.8%
Vue
18%
TypeScript
11.3%
CSS
0.6%
Shell
0.1%
Other
0.1%