plom/plom!1303 I hope the use of just was justified in this case :-) although I had to add some integration between the various tabs, e.g. unknown pages didn't update when moving pages away from the discard pile.
arechnitzer: it seems you are correct about threading: when someone refreshes manager (a slow operation on a large exam) my uploads pause for a few seconds. I suspect this is because of the with atomic(): blocks, effectively holding a mutex---does that make sense?
Curious about how PLOM works under the hood. Apparently this requires reading lots of Python. So ... which is the top-level source file with the shortest path-length to a working msgr<->server link? Where is the API actually implemented? (If there is better documentation than "Read the source, Luke", please provide a pointer.) Thanks.