File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -45,18 +45,30 @@ async function getLatestSqliteVersion() {
4545 return sqliteVersions . latest ;
4646}
4747
48+ // Cache version fetches for the duration of the app session
49+ let sqliteVersionsCache : { versions : ( semver . SemVer | null ) [ ] ; latest : string } = {
50+ versions : [ ] ,
51+ latest : '' ,
52+ } ;
53+
4854async function fetchSqliteVersions ( ) {
55+ if ( sqliteVersionsCache . versions . length ) {
56+ return sqliteVersionsCache ;
57+ }
58+
4959 try {
5060 const response = await fetch (
5161 'https://api.github.com/repos/WordPress/sqlite-database-integration/releases'
5262 ) ;
5363 const data : Record < string , string > [ ] = await response . json ( ) ;
5464 const versions = data . map ( ( release ) => semver . coerce ( release . tag_name ) ) ;
55- return {
65+ sqliteVersionsCache = {
5666 versions,
5767 latest : versions [ 0 ] ?. version || '' ,
5868 } ;
5969 } catch ( _error ) {
60- return { versions : [ ] , latest : '' } ;
70+ // Discard the failed fetch, return the cache
6171 }
72+
73+ return sqliteVersionsCache ;
6274}
You can’t perform that action at this time.
0 commit comments