diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-10 16:12:55 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-18 14:23:34 -0400 | 
| commit | e1ebfb02f724518432b2e1c5ec2a80ff03b38fd8 (patch) | |
| tree | 78643aa793ddf752c5d4f61db34b3cb64c0f12ac /ext/mixed/js | |
| parent | 823c026533dcd758c2a93038fa526978a5fa9cc3 (diff) | |
Disable cache on the backend and fix a bug with the cache key
Diffstat (limited to 'ext/mixed/js')
| -rw-r--r-- | ext/mixed/js/audio-system.js | 22 | ||||
| -rw-r--r-- | ext/mixed/js/display.js | 3 | 
2 files changed, 16 insertions, 9 deletions
| diff --git a/ext/mixed/js/audio-system.js b/ext/mixed/js/audio-system.js index 5366e3e0..255a96de 100644 --- a/ext/mixed/js/audio-system.js +++ b/ext/mixed/js/audio-system.js @@ -66,8 +66,8 @@ class TextToSpeechAudio {  }  class AudioSystem { -    constructor({audioUriBuilder}) { -        this._cache = new Map(); +    constructor({audioUriBuilder, useCache}) { +        this._cache = useCache ? new Map() : null;          this._cacheSizeMaximum = 32;          this._audioUriBuilder = audioUriBuilder; @@ -79,10 +79,14 @@ class AudioSystem {      async getDefinitionAudio(definition, sources, details) {          const key = `${definition.expression}:${definition.reading}`; -        const cacheValue = this._cache.get(definition); -        if (typeof cacheValue !== 'undefined') { -            const {audio, uri, source} = cacheValue; -            return {audio, uri, source}; +        const hasCache = (this._cache !== null); + +        if (hasCache) { +            const cacheValue = this._cache.get(key); +            if (typeof cacheValue !== 'undefined') { +                const {audio, uri, source} = cacheValue; +                return {audio, uri, source}; +            }          }          for (const source of sources) { @@ -91,8 +95,10 @@ class AudioSystem {              try {                  const audio = await this._createAudio(uri); -                this._cacheCheck(); -                this._cache.set(key, {audio, uri, source}); +                if (hasCache) { +                    this._cacheCheck(); +                    this._cache.set(key, {audio, uri, source}); +                }                  return {audio, uri, source};              } catch (e) {                  // NOP diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 7f3ba859..8edae7c9 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -50,7 +50,8 @@ class Display {                  async getUri(definition, source, details) {                      return await apiAudioGetUri(definition, source, details);                  } -            } +            }, +            useCache: true          });          this.styleNode = null; |