Compare commits

...

4 Commits

Author SHA1 Message Date
gitee-bot e39525901e feat(deeplink): add support for apt:// protocol conversion to spk://search
Add handling for apt://pkgname format links by converting them to
spk://search/pkgname protocol, allowing spark-store to process
apt package links seamlessly

refs #IJTPFP
2026-06-10 11:36:31 +00:00
shenmo7192 8e8617218a !391 增加对aosc os的支持
Merge pull request !391 from Melorise/add-support-for-aosc
2026-05-22 15:06:40 +00:00
Melorise 97f49201b7 增加对aosc os的支持 2026-05-20 10:31:49 +08:00
shenmo7192 f62665cd73 release: bump version to 5.1.1 and fix dns download issue
add --async-dns=false aria2 parameter to all download jobs to fix potential dns resolution failures during package download
2026-05-16 02:35:29 +08:00
6 changed files with 27 additions and 2 deletions
+1
View File
@@ -390,6 +390,7 @@ async function processNextInQueue() {
const aria2Args = [ const aria2Args = [
`--dir=${downloadDir}`, `--dir=${downloadDir}`,
"--allow-overwrite=true", "--allow-overwrite=true",
"--async-dns=false",
"--summary-interval=1", "--summary-interval=1",
"--connect-timeout=10", "--connect-timeout=10",
"--timeout=15", "--timeout=15",
@@ -89,6 +89,7 @@ export const downloadPackage = async ({
const aria2Args = [ const aria2Args = [
`--dir=${downloadDir}`, `--dir=${downloadDir}`,
"--allow-overwrite=true", "--allow-overwrite=true",
"--async-dns=false",
"--summary-interval=1", "--summary-interval=1",
"--connect-timeout=10", "--connect-timeout=10",
"--timeout=15", "--timeout=15",
+17 -1
View File
@@ -45,7 +45,7 @@ class ListenersMap {
} }
} }
const protocols = ["spk"]; const protocols = ["spk", "apt"];
const listeners = new ListenersMap(); const listeners = new ListenersMap();
export const deepLink = { export const deepLink = {
@@ -81,6 +81,22 @@ export function handleCommandLine(commandLine: string[]) {
try { try {
const url = new URL(target); const url = new URL(target);
// Handle apt:// protocol: convert to spk://search/pkgname
if (url.protocol === "apt:") {
// Format: apt://pkgname
const pkgname = url.hostname || url.pathname.split("/").filter(Boolean)[0];
if (pkgname) {
const query: Query = { pkgname };
logger.info(`Deep link: apt protocol converted to search: ${pkgname}`);
listeners.emit("search", query);
} else {
logger.warn(
`Deep link: invalid apt format, expected //pkgname, got ${target}`,
);
}
return;
}
const action = url.hostname; // 'search' const action = url.hostname; // 'search'
logger.info(`Deep link: action found: ${action}`); logger.info(`Deep link: action found: ${action}`);
+6
View File
@@ -23,6 +23,12 @@ if ! command -v apt >/dev/null 2>&1; then
ARGS="$ARGS --no-spark" ARGS="$ARGS --no-spark"
fi fi
# 检查是否是AOSC OS
if grep -q "ID=aosc" /etc/os-release; then
echo "检测到 AOSC OS"
ARGS="$ARGS --no-spark"
fi
# 注意:已移除原先针对 arm64 + wayland 添加 --disable-gpu 的逻辑, # 注意:已移除原先针对 arm64 + wayland 添加 --disable-gpu 的逻辑,
# 现在 arm64 设备无论是否使用 wayland 均不再添加此参数。 # 现在 arm64 设备无论是否使用 wayland 均不再添加此参数。
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "spark-store", "name": "spark-store",
"version": "5.1.0", "version": "5.1.1",
"main": "dist-electron/main/index.js", "main": "dist-electron/main/index.js",
"description": "Client for Spark App Store", "description": "Client for Spark App Store",
"author": "elysia-best <elysia-best@simplelinux.cn.eu.org>", "author": "elysia-best <elysia-best@simplelinux.cn.eu.org>",
@@ -37,6 +37,7 @@ void DownloadManager::startDownload(const QString &packageName, const QString &u
QStringList arguments = { QStringList arguments = {
"--enable-rpc=false", "--enable-rpc=false",
"--console-log-level=warn", "--console-log-level=warn",
"--async-dns=false",
"--summary-interval=1", "--summary-interval=1",
"--allow-overwrite=true", "--allow-overwrite=true",
"--connect-timeout=30", "--connect-timeout=30",