mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Increase max size limit for single file syncs
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
69573fdb4a
commit
d8b1dfaa41
@ -60,7 +60,8 @@ const ignoreGlobs = [
|
|||||||
* Even if you have a cert-file, key-file, and client-cert files that is only
|
* Even if you have a cert-file, key-file, and client-cert files that is only
|
||||||
* 12kb of extra data (at 4096 bytes each) which allows for around 150 entries.
|
* 12kb of extra data (at 4096 bytes each) which allows for around 150 entries.
|
||||||
*/
|
*/
|
||||||
const maxAllowedFileReadSize = 2 * 1024 * 1024; // 2 MiB
|
const folderSyncMaxAllowedFileReadSize = 2 * 1024 * 1024; // 2 MiB
|
||||||
|
const fileSyncMaxAllowedFileReadSize = 16 * folderSyncMaxAllowedFileReadSize; // 32 MiB
|
||||||
|
|
||||||
export class KubeconfigSyncManager extends Singleton {
|
export class KubeconfigSyncManager extends Singleton {
|
||||||
protected sources = observable.map<string, [IComputedValue<CatalogEntity[]>, Disposer]>();
|
protected sources = observable.map<string, [IComputedValue<CatalogEntity[]>, Disposer]>();
|
||||||
@ -236,7 +237,14 @@ export function computeDiff(contents: string, source: RootSource, filePath: stri
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function diffChangedConfig(filePath: string, source: RootSource, stats: fs.Stats): Disposer {
|
interface DiffChangedConfigArgs {
|
||||||
|
filePath: string;
|
||||||
|
source: RootSource;
|
||||||
|
stats: fs.Stats;
|
||||||
|
maxAllowedFileReadSize: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
function diffChangedConfig({ filePath, source, stats, maxAllowedFileReadSize }: DiffChangedConfigArgs): Disposer {
|
||||||
logger.debug(`${logPrefix} file changed`, { filePath });
|
logger.debug(`${logPrefix} file changed`, { filePath });
|
||||||
|
|
||||||
if (stats.size >= maxAllowedFileReadSize) {
|
if (stats.size >= maxAllowedFileReadSize) {
|
||||||
@ -303,6 +311,9 @@ function watchFileChanges(filePath: string): [IComputedValue<CatalogEntity[]>, D
|
|||||||
const stat = await fs.promises.stat(filePath);
|
const stat = await fs.promises.stat(filePath);
|
||||||
const isFolderSync = stat.isDirectory();
|
const isFolderSync = stat.isDirectory();
|
||||||
const cleanupFns = new Map<string, Disposer>();
|
const cleanupFns = new Map<string, Disposer>();
|
||||||
|
const maxAllowedFileReadSize = isFolderSync
|
||||||
|
? folderSyncMaxAllowedFileReadSize
|
||||||
|
: fileSyncMaxAllowedFileReadSize;
|
||||||
|
|
||||||
watcher = watch(filePath, {
|
watcher = watch(filePath, {
|
||||||
followSymlinks: true,
|
followSymlinks: true,
|
||||||
@ -327,7 +338,12 @@ function watchFileChanges(filePath: string): [IComputedValue<CatalogEntity[]>, D
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup();
|
cleanup();
|
||||||
cleanupFns.set(childFilePath, diffChangedConfig(childFilePath, rootSource.getOrInsert(childFilePath, observable.map), stats));
|
cleanupFns.set(childFilePath, diffChangedConfig({
|
||||||
|
filePath: childFilePath,
|
||||||
|
source: rootSource.getOrInsert(childFilePath, observable.map),
|
||||||
|
stats,
|
||||||
|
maxAllowedFileReadSize,
|
||||||
|
}));
|
||||||
})
|
})
|
||||||
.on("add", (childFilePath, stats) => {
|
.on("add", (childFilePath, stats) => {
|
||||||
if (isFolderSync) {
|
if (isFolderSync) {
|
||||||
@ -340,7 +356,12 @@ function watchFileChanges(filePath: string): [IComputedValue<CatalogEntity[]>, D
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanupFns.set(childFilePath, diffChangedConfig(childFilePath, rootSource.getOrInsert(childFilePath, observable.map), stats));
|
cleanupFns.set(childFilePath, diffChangedConfig({
|
||||||
|
filePath: childFilePath,
|
||||||
|
source: rootSource.getOrInsert(childFilePath, observable.map),
|
||||||
|
stats,
|
||||||
|
maxAllowedFileReadSize,
|
||||||
|
}));
|
||||||
})
|
})
|
||||||
.on("unlink", (childFilePath) => {
|
.on("unlink", (childFilePath) => {
|
||||||
cleanupFns.get(childFilePath)?.();
|
cleanupFns.get(childFilePath)?.();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user