Compare commits

...

3 commits

Author SHA1 Message Date
Louis Lam
059334a1d2
Merge 9c4c60e270 into d2f71d11d6 2024-10-22 08:49:03 +00:00
Easy
d2f71d11d6
Update API URL to compatible with the latest version of ServerChan (#5227)
Some checks are pending
Auto Test / auto-test (18, ARM64) (push) Blocked by required conditions
Auto Test / auto-test (18, macos-latest) (push) Blocked by required conditions
Auto Test / auto-test (18, ubuntu-latest) (push) Blocked by required conditions
Auto Test / auto-test (18, windows-latest) (push) Blocked by required conditions
Auto Test / auto-test (20, ARM64) (push) Blocked by required conditions
Auto Test / auto-test (20, macos-latest) (push) Blocked by required conditions
Auto Test / auto-test (20, ubuntu-latest) (push) Blocked by required conditions
Auto Test / auto-test (20, windows-latest) (push) Blocked by required conditions
Auto Test / armv7-simple-test (18, ARMv7) (push) Waiting to run
Auto Test / armv7-simple-test (20, ARMv7) (push) Waiting to run
Auto Test / check-linters (push) Waiting to run
Auto Test / e2e-test (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
json-yaml-validate / json-yaml-validate (push) Waiting to run
2024-10-22 10:48:51 +02:00
Louis Lam
9c4c60e270 Check NFS 2024-07-06 23:56:56 +08:00
2 changed files with 12 additions and 2 deletions

View file

@ -223,6 +223,15 @@ class Database {
fs.copyFileSync(Database.templatePath, Database.sqlitePath); fs.copyFileSync(Database.templatePath, Database.sqlitePath);
} }
// Check if Database.sqlitePath is on NFS
if (fs.existsSync(Database.sqlitePath)) {
let stats = fs.statSync(Database.sqlitePath);
log.debug("server", "SQLite database inode: " + stats.ino);
if (stats.ino === 0) {
log.error("server", "It seems that the database is on a network drive (NFS). Uptime Kuma will be UNSTABLE and the database will be CORRUPTED. Please use a local disk.");
}
}
const Dialect = require("knex/lib/dialects/sqlite3/index.js"); const Dialect = require("knex/lib/dialects/sqlite3/index.js");
Dialect.prototype._driver = () => require("@louislam/sqlite3"); Dialect.prototype._driver = () => require("@louislam/sqlite3");

View file

@ -12,8 +12,9 @@ class ServerChan extends NotificationProvider {
const okMsg = "Sent Successfully."; const okMsg = "Sent Successfully.";
// serverchan3 requires sending via ft07.com // serverchan3 requires sending via ft07.com
const url = String(notification.serverChanSendKey).startsWith("sctp") const matchResult = String(notification.serverChanSendKey).match(/^sctp(\d+)t/i);
? `https://${notification.serverChanSendKey}.push.ft07.com/send` const url = matchResult && matchResult[1]
? `https://${matchResult[1]}.push.ft07.com/send/${notification.serverChanSendKey}.send`
: `https://sctapi.ftqq.com/${notification.serverChanSendKey}.send`; : `https://sctapi.ftqq.com/${notification.serverChanSendKey}.send`;
try { try {