From 73840ac25dc6fe5a40b5f2732f5e3aca152aa3a3 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Mon, 18 Aug 2025 10:33:38 +0700 Subject: [PATCH 1/6] chore: update id-id.json --- src/lang/id-id.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index ed06e9b09..d456a0da9 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -423,9 +423,9 @@ "allFileAccess": "Semua akses berkas", "fonts": "Huruf", "sponsor": "Sponsor", - "downloads": "downloads", - "reviews": "reviews", - "overview": "Overview", - "contributors": "Contributors", - "quicktools:hyphen": "Insert hyphen symbol" + "downloads": "Unduhan", + "reviews": "Ulasan", + "overview": "Ikhtisar", + "contributors": "Kontributor", + "quicktools:hyphen": "Masukkan simbol tanda hubung" } From 0c4fe92be52ea20782a94daca2aa0b208557541d Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Fri, 5 Sep 2025 06:20:13 +0700 Subject: [PATCH 2/6] fix(i18n): fix typo in ./src/lang/id-id.json --- src/lang/id-id.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index d456a0da9..b03d1e78a 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -85,7 +85,7 @@ "soft tab": "Tab lunak", "sort by name": "Urutkan berdasarkan nama", "success": "Sukses", - "tab size": "Ukuram Tab", + "tab size": "Ukuran Tab", "text wrap": "Bungkus Teks", "theme": "Tema", "unable to delete file": "Tidak dapat menghapus berkas", From c2749819cc27d46079984704531771ffcd4ac866 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Thu, 16 Oct 2025 17:15:11 +0700 Subject: [PATCH 3/6] chore(i18n): update id-id.json with new strings --- src/lang/id-id.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lang/id-id.json b/src/lang/id-id.json index e23b654d4..9bef5e06d 100644 --- a/src/lang/id-id.json +++ b/src/lang/id-id.json @@ -428,9 +428,9 @@ "overview": "Ikhtisar", "contributors": "Kontributor", "quicktools:hyphen": "Masukkan simbol tanda hubung", - "check for app updates": "Check for app updates", - "prompt update check consent message": "Acode can check for new app updates when you're online. Enable update checks?", - "keywords": "Keywords", - "author": "Author", - "filtered by": "Filtered by" + "check for app updates": "Periksa pembaruan aplikasi", + "prompt update check consent message": "Acode dapat memeriksa pembaruan aplikasi baru saat Anda online. Aktifkan pemeriksaan pembaruan?", + "keywords": "Kata kunci", + "author": "Pembuat", + "filtered by": "Disaring oleh" } From 2047b78fa772c2a314ebaadd3d31e5571fd46af4 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Mon, 15 Jun 2026 18:22:31 +0700 Subject: [PATCH 4/6] refactor: replace url-parse to WHATWG URL API --- src/lib/remoteStorage.js | 9 +++++---- src/pages/fileBrowser/fileBrowser.js | 5 ++--- src/utils/Url.js | 9 +++------ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/lib/remoteStorage.js b/src/lib/remoteStorage.js index 5185de0ce..2eac55444 100644 --- a/src/lib/remoteStorage.js +++ b/src/lib/remoteStorage.js @@ -3,7 +3,6 @@ import Ftp from "fileSystem/ftp"; import Sftp from "fileSystem/sftp"; import loader from "dialogs/loader"; import multiPrompt from "dialogs/multiPrompt"; -import URLParse from "url-parse"; import helpers from "utils/helpers"; import Url from "utils/Url"; import { interstitialAd } from "./startAd"; @@ -367,7 +366,7 @@ export default { } }, edit({ name, storageType, url }) { - let { username, password, hostname, port, query } = URLParse(url, true); + let { username, password, hostname, port, searchParams } = new URL(url); if (username) { username = decodeURIComponent(username); @@ -378,11 +377,12 @@ export default { } if (storageType === "ftp") { - let { security, mode } = query; + let security = searchParams.get("security"); if (security) { security = decodeURIComponent(security); } + let mode = searchParams.get("mode"); if (mode) { mode = decodeURIComponent(mode); } @@ -399,11 +399,12 @@ export default { } if (storageType === "sftp") { - let { passPhrase, keyFile } = query; + let passPhrase = searchParams.get("passPhrase"); if (passPhrase) { passPhrase = decodeURIComponent(passPhrase); } + let keyFile = searchParams.get("keyFile"); if (keyFile) { keyFile = decodeURIComponent(keyFile); } diff --git a/src/pages/fileBrowser/fileBrowser.js b/src/pages/fileBrowser/fileBrowser.js index cd1445dc4..268972618 100644 --- a/src/pages/fileBrowser/fileBrowser.js +++ b/src/pages/fileBrowser/fileBrowser.js @@ -25,7 +25,6 @@ import { hideAd } from "lib/startAd"; import mimeTypes from "mime-types"; import mustache from "mustache"; import filesSettings from "settings/filesSettings"; -import URLParse from "url-parse"; import helpers from "utils/helpers"; import Url from "utils/Url"; import _addMenu from "./add-menu.hbs"; @@ -1162,9 +1161,9 @@ function FileBrowserInclude(mode, info, doesOpenLast = true) { } if (storage.url) { - const parsedUrl = URLParse(storage.url, true); + const parsedUrl = new URL(storage.url); const keyFile = decodeURIComponent( - parsedUrl.query["keyFile"] || "", + parsedUrl.searchParams.get("keyFile") || "", ); if (keyFile) { fsOperation(keyFile).delete(); diff --git a/src/utils/Url.js b/src/utils/Url.js index 948503129..fe1dd60aa 100644 --- a/src/utils/Url.js +++ b/src/utils/Url.js @@ -1,4 +1,3 @@ -import URLParse from "url-parse"; import path from "./Path"; import Uri from "./Uri"; @@ -268,7 +267,7 @@ export default { * @returns {string} */ hidePassword(url) { - const { protocol, username, hostname, pathname } = URLParse(url); + const { protocol, username, hostname, pathname } = new URL(url); if (protocol === "file:") { return url; } else { @@ -287,10 +286,7 @@ export default { url = url.replace(/#/g, uuid); } - let { username, password, hostname, pathname, port, query } = URLParse( - url, - true, - ); + let { username, password, hostname, pathname, port, searchParams } = new URL(url); if (pathname) { pathname = decodeURIComponent(pathname); @@ -309,6 +305,7 @@ export default { port = Number.parseInt(port); } + const query = Object.fromEntries(searchParams); let { keyFile, passPhrase } = query; if (keyFile) { From af92bd7beffe5c34f7bdd98e8f1f4fb4f49a05ab Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Mon, 15 Jun 2026 18:24:48 +0700 Subject: [PATCH 5/6] chore: remove url-parse --- package-lock.json | 23 ----------------------- package.json | 1 - 2 files changed, 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a527dca6..5bccf6e31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,7 +77,6 @@ "mime-types": "^3.0.2", "mustache": "^4.2.0", "picomatch": "^4.0.4", - "url-parse": "^1.5.10", "vanilla-picker": "^2.12.3", "yargs": "^18.0.0" }, @@ -8972,12 +8971,6 @@ "node": ">=6" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "license": "MIT" - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -9178,12 +9171,6 @@ "node": ">=0.10.0" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, "node_modules/resolve": { "version": "1.22.12", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz", @@ -10139,16 +10126,6 @@ "punycode": "^2.1.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 674480896..26516d658 100644 --- a/package.json +++ b/package.json @@ -182,7 +182,6 @@ "mime-types": "^3.0.2", "mustache": "^4.2.0", "picomatch": "^4.0.4", - "url-parse": "^1.5.10", "vanilla-picker": "^2.12.3", "yargs": "^18.0.0" }, From 2663bf0a13f9d8380f01272e89d16ffcaf540e71 Mon Sep 17 00:00:00 2001 From: hyperz111 Date: Mon, 15 Jun 2026 18:46:05 +0700 Subject: [PATCH 6/6] style: (manual) format --- src/utils/Url.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/Url.js b/src/utils/Url.js index fe1dd60aa..0c161cc86 100644 --- a/src/utils/Url.js +++ b/src/utils/Url.js @@ -286,7 +286,8 @@ export default { url = url.replace(/#/g, uuid); } - let { username, password, hostname, pathname, port, searchParams } = new URL(url); + let { username, password, hostname, pathname, port, searchParams } = + new URL(url); if (pathname) { pathname = decodeURIComponent(pathname);