mirror of
				https://github.com/karl0ss/homepage.git
				synced 2025-11-04 08:20:58 +00:00 
			
		
		
		
	try to detect invalid settings load
This commit is contained in:
		
							parent
							
								
									f09268230e
								
							
						
					
					
						commit
						c01b60dbd1
					
				@ -99,7 +99,7 @@ function Index({ initialSettings, fallback }) {
 | 
				
			|||||||
          localStorage.setItem("hash", hashData.hash);
 | 
					          localStorage.setItem("hash", hashData.hash);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (previousHash && previousHash !== hashData.hash) {
 | 
					        if (!initialSettings.isValid || (previousHash && previousHash !== hashData.hash)) {
 | 
				
			||||||
          setStale(true);
 | 
					          setStale(true);
 | 
				
			||||||
          localStorage.setItem("hash", hashData.hash);
 | 
					          localStorage.setItem("hash", hashData.hash);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -111,7 +111,7 @@ function Index({ initialSettings, fallback }) {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }, [hashData]);
 | 
					  }, [hashData, initialSettings]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (stale) {
 | 
					  if (stale) {
 | 
				
			||||||
    return (
 | 
					    return (
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
/* eslint-disable no-console */
 | 
					/* eslint-disable no-console */
 | 
				
			||||||
import { join } from "path";
 | 
					import { join } from "path";
 | 
				
			||||||
import { existsSync, copyFile, readFileSync } from "fs";
 | 
					import { existsSync, copyFile, readFileSync, statSync } from "fs";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import yaml from "js-yaml";
 | 
					import yaml from "js-yaml";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -32,5 +32,18 @@ export function getSettings() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  const settingsYaml = join(process.cwd(), "config", "settings.yaml");
 | 
					  const settingsYaml = join(process.cwd(), "config", "settings.yaml");
 | 
				
			||||||
  const fileContents = readFileSync(settingsYaml, "utf8");
 | 
					  const fileContents = readFileSync(settingsYaml, "utf8");
 | 
				
			||||||
  return yaml.load(fileContents) ?? {};
 | 
					
 | 
				
			||||||
 | 
					  let stats;
 | 
				
			||||||
 | 
					  try {
 | 
				
			||||||
 | 
					    stats = statSync(settingsYaml);
 | 
				
			||||||
 | 
					  } catch (e) {
 | 
				
			||||||
 | 
					    stats = {};
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const yamlLoaded = yaml.load(fileContents) ?? {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return { 
 | 
				
			||||||
 | 
					    ...yamlLoaded,
 | 
				
			||||||
 | 
					    isValid: fileContents !== "-\n" && stats.size !== 2 // see https://github.com/benphelps/homepage/pull/609
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user