mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-24 18:20:14 +01:00
Disable caching of remarkup previews
Summary: We currently cache previews, but the vast majority of previews are never rendered again (e.g., they're a preview of someone partway through typing a comment). Especially when editing large documents (Legalpad, Phriction), this can bloat the markup cache with data that will never be read and won't get purged for 30 days. In particular, most of the data on `admin.phacility.com` is currently 1,000 previews of legalpad documents as I made minor edits to them over the course of several hours. This isn't a big concern, but it's a very easy fix. Test Plan: - Previewed a legalpad document, verified that cache rows were not written as I mashed the keyboard. - Saved the document, verified a new cache row was written. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D11832
This commit is contained in:
parent
ed7823f577
commit
59ae91a5ce
2 changed files with 15 additions and 0 deletions
|
@ -17,6 +17,7 @@ final class PhabricatorMarkupOneOff implements PhabricatorMarkupInterface {
|
|||
private $content;
|
||||
private $preserveLinebreaks;
|
||||
private $engineRuleset;
|
||||
private $disableCache;
|
||||
|
||||
public function setEngineRuleset($engine_ruleset) {
|
||||
$this->engineRuleset = $engine_ruleset;
|
||||
|
@ -41,6 +42,15 @@ final class PhabricatorMarkupOneOff implements PhabricatorMarkupInterface {
|
|||
return $this->content;
|
||||
}
|
||||
|
||||
public function setDisableCache($disable_cache) {
|
||||
$this->disableCache = $disable_cache;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getDisableCache() {
|
||||
return $this->disableCache;
|
||||
}
|
||||
|
||||
public function getMarkupFieldKey($field) {
|
||||
return PhabricatorHash::digestForIndex($this->getContent()).':oneoff';
|
||||
}
|
||||
|
@ -74,6 +84,10 @@ final class PhabricatorMarkupOneOff implements PhabricatorMarkupInterface {
|
|||
}
|
||||
|
||||
public function shouldUseMarkupCache($field) {
|
||||
if ($this->getDisableCache()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ final class PhabricatorMarkupPreviewController
|
|||
$output = PhabricatorMarkupEngine::renderOneObject(
|
||||
id(new PhabricatorMarkupOneOff())
|
||||
->setPreserveLinebreaks(true)
|
||||
->setDisableCache(true)
|
||||
->setContent($text),
|
||||
'default',
|
||||
$viewer);
|
||||
|
|
Loading…
Add table
Reference in a new issue