async function getDir(url, name) {
			const { fileBrowser } = appSettings.value;
			let list = null;
			let error = false;

			if (url in cachedDir) {
				return cachedDir[url];
			} else {
				if (url === "/") {
					list = await listAllStorages();
				} else {
					const id = helpers.uuid();

					progress[id] = true;
					const timeout = setTimeout(() => {
						loader.create(name, strings.loading + "...", {
							timeout: 10000,
							callback() {
								loader.destroy();
								navigate("/", "/");
								progress[id] = false;
							},
						});
					}, 100);

					const fs = fsOperation(url);
					try {
						list = await fs.lsDir();
					} catch (err) {
						if (progress[id]) {
							helpers.error(err, url);
						} else {
							console.error(err);
						}
					}

					error = !progress[id];

					delete progress[id];
					clearTimeout(timeout);
					loader.destroy();
				}
				if (error) return null;
				return {
					url,
					name,
					scroll: 0,
					list: helpers.sortDir(list, fileBrowser, mode),
				};
			}
		}
Gets directory for given url for rendering
@param {String} url
@param {String} name
@returns {Promise<{name: String, url: String, list: [], scroll: Number}>}