Last modified: 2014-09-05 15:29:41 UTC
Topic.php (and others)’ commit() will commit data to cache & start rendering right away, before data is actually stored to dbw/cache (that’s in WorkflowLoader.php, right after Topic.php’s commit) We should separate commit & render; all data should first be committed, then only rendered afterwards Otherwise, the rendered data may not 100% accurately reflect the current state of the data (because it has not been fully committed). E.g. when restoring a suppressed post, the post's content will be replaced by the rendered HTML returns from the API call, but that one contains no moderation links (because to check if these can be displayed, some permission checks are done, which run against the most recent permission & we have not yet saved it to cache)
Done during frontend & API rewrite