@lordbex/thelounge 4.4.3-blowfish → 4.5.0-blowfish-pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -7
- package/dist/defaults/config.js +31 -2
- package/dist/package.json +94 -91
- package/dist/server/client.js +188 -194
- package/dist/server/clientManager.js +75 -72
- package/dist/server/command-line/index.js +44 -43
- package/dist/server/command-line/install.js +37 -70
- package/dist/server/command-line/outdated.js +12 -17
- package/dist/server/command-line/start.js +25 -26
- package/dist/server/command-line/storage.js +26 -31
- package/dist/server/command-line/uninstall.js +16 -23
- package/dist/server/command-line/upgrade.js +20 -26
- package/dist/server/command-line/users/add.js +33 -40
- package/dist/server/command-line/users/edit.js +18 -24
- package/dist/server/command-line/users/index.js +12 -16
- package/dist/server/command-line/users/list.js +11 -39
- package/dist/server/command-line/users/remove.js +16 -22
- package/dist/server/command-line/users/reset.js +34 -35
- package/dist/server/command-line/utils.js +231 -87
- package/dist/server/config.js +61 -52
- package/dist/server/helper.js +29 -28
- package/dist/server/identification.js +39 -34
- package/dist/server/index.js +1 -3
- package/dist/server/log.js +19 -16
- package/dist/server/models/chan.js +36 -33
- package/dist/server/models/msg.js +15 -19
- package/dist/server/models/network.js +102 -104
- package/dist/server/models/prefix.js +4 -7
- package/dist/server/models/user.js +5 -10
- package/dist/server/path-helper.js +8 -0
- package/dist/server/plugins/auth/ldap.js +177 -112
- package/dist/server/plugins/auth/local.js +10 -15
- package/dist/server/plugins/auth.js +6 -35
- package/dist/server/plugins/changelog.js +30 -27
- package/dist/server/plugins/clientCertificate.js +33 -37
- package/dist/server/plugins/dev-server.js +15 -21
- package/dist/server/plugins/inputs/action.js +9 -14
- package/dist/server/plugins/inputs/away.js +1 -3
- package/dist/server/plugins/inputs/ban.js +9 -14
- package/dist/server/plugins/inputs/blow.js +9 -14
- package/dist/server/plugins/inputs/connect.js +5 -10
- package/dist/server/plugins/inputs/ctcp.js +7 -12
- package/dist/server/plugins/inputs/disconnect.js +1 -3
- package/dist/server/plugins/inputs/ignore.js +23 -29
- package/dist/server/plugins/inputs/ignorelist.js +12 -18
- package/dist/server/plugins/inputs/index.js +8 -34
- package/dist/server/plugins/inputs/invite.js +7 -12
- package/dist/server/plugins/inputs/kick.js +7 -12
- package/dist/server/plugins/inputs/kill.js +1 -3
- package/dist/server/plugins/inputs/list.js +1 -3
- package/dist/server/plugins/inputs/mode.js +10 -15
- package/dist/server/plugins/inputs/msg.js +13 -18
- package/dist/server/plugins/inputs/mute.js +9 -15
- package/dist/server/plugins/inputs/nick.js +9 -14
- package/dist/server/plugins/inputs/notice.js +5 -7
- package/dist/server/plugins/inputs/part.js +11 -16
- package/dist/server/plugins/inputs/quit.js +7 -13
- package/dist/server/plugins/inputs/rainbow.js +55 -0
- package/dist/server/plugins/inputs/raw.js +1 -3
- package/dist/server/plugins/inputs/rejoin.js +7 -12
- package/dist/server/plugins/inputs/topic.js +7 -12
- package/dist/server/plugins/inputs/whois.js +1 -3
- package/dist/server/plugins/irc-events/away.js +14 -20
- package/dist/server/plugins/irc-events/cap.js +16 -22
- package/dist/server/plugins/irc-events/chghost.js +14 -13
- package/dist/server/plugins/irc-events/connection.js +61 -63
- package/dist/server/plugins/irc-events/ctcp.js +22 -28
- package/dist/server/plugins/irc-events/error.js +20 -26
- package/dist/server/plugins/irc-events/help.js +7 -13
- package/dist/server/plugins/irc-events/info.js +7 -13
- package/dist/server/plugins/irc-events/invite.js +7 -13
- package/dist/server/plugins/irc-events/join.js +30 -27
- package/dist/server/plugins/irc-events/kick.js +21 -17
- package/dist/server/plugins/irc-events/link.js +122 -109
- package/dist/server/plugins/irc-events/list.js +23 -26
- package/dist/server/plugins/irc-events/message.js +46 -52
- package/dist/server/plugins/irc-events/mode.js +66 -63
- package/dist/server/plugins/irc-events/modelist.js +29 -35
- package/dist/server/plugins/irc-events/motd.js +10 -16
- package/dist/server/plugins/irc-events/names.js +3 -6
- package/dist/server/plugins/irc-events/nick.js +26 -23
- package/dist/server/plugins/irc-events/part.js +19 -15
- package/dist/server/plugins/irc-events/quit.js +17 -14
- package/dist/server/plugins/irc-events/sasl.js +9 -15
- package/dist/server/plugins/irc-events/spgroups.js +38 -0
- package/dist/server/plugins/irc-events/spjoin.js +52 -0
- package/dist/server/plugins/irc-events/topic.js +12 -18
- package/dist/server/plugins/irc-events/unhandled.js +12 -12
- package/dist/server/plugins/irc-events/welcome.js +7 -13
- package/dist/server/plugins/irc-events/whois.js +20 -24
- package/dist/server/plugins/massEventAggregator.js +214 -0
- package/dist/server/plugins/messageStorage/sqlite.js +322 -141
- package/dist/server/plugins/messageStorage/text.js +21 -26
- package/dist/server/plugins/packages/index.js +105 -74
- package/dist/server/plugins/packages/publicClient.js +7 -16
- package/dist/server/plugins/packages/themes.js +11 -16
- package/dist/server/plugins/storage.js +28 -33
- package/dist/server/plugins/sts.js +12 -17
- package/dist/server/plugins/uploader.js +40 -43
- package/dist/server/plugins/webpush.js +23 -51
- package/dist/server/server.js +318 -271
- package/dist/server/storageCleaner.js +29 -37
- package/dist/server/utils/fish.js +349 -389
- package/dist/shared/irc.js +3 -6
- package/dist/shared/linkify.js +7 -14
- package/dist/shared/types/chan.js +6 -9
- package/dist/shared/types/changelog.js +1 -2
- package/dist/shared/types/config.js +1 -2
- package/dist/shared/types/mention.js +1 -2
- package/dist/shared/types/msg.js +3 -5
- package/dist/shared/types/network.js +1 -2
- package/dist/shared/types/storage.js +1 -2
- package/dist/shared/types/user.js +1 -2
- package/index.js +14 -10
- package/package.json +94 -91
- package/public/css/style.css +9 -6
- package/public/css/style.css.map +1 -1
- package/public/fonts/font-awesome/fa-brands-400.ttf +0 -0
- package/public/fonts/font-awesome/fa-brands-400.woff2 +0 -0
- package/public/fonts/font-awesome/fa-duotone-900.ttf +0 -0
- package/public/fonts/font-awesome/fa-duotone-900.woff2 +0 -0
- package/public/fonts/font-awesome/fa-light-300.ttf +0 -0
- package/public/fonts/font-awesome/fa-light-300.woff2 +0 -0
- package/public/fonts/font-awesome/fa-regular-400.ttf +0 -0
- package/public/fonts/font-awesome/fa-regular-400.woff2 +0 -0
- package/public/fonts/font-awesome/fa-solid-900.ttf +0 -0
- package/public/fonts/font-awesome/fa-solid-900.woff2 +0 -0
- package/public/fonts/font-awesome/fa-thin-100.ttf +0 -0
- package/public/fonts/font-awesome/fa-thin-100.woff2 +0 -0
- package/public/fonts/font-awesome/fa-v4compatibility.ttf +0 -0
- package/public/fonts/font-awesome/fa-v4compatibility.woff2 +0 -0
- package/public/js/bundle.js +1 -1
- package/public/js/bundle.js.map +1 -1
- package/public/js/bundle.vendor.js +1 -1
- package/public/js/bundle.vendor.js.LICENSE.txt +24 -6
- package/public/js/bundle.vendor.js.map +1 -1
- package/public/js/loading-error-handlers.js +1 -1
- package/public/service-worker.js +1 -1
- package/public/themes/default.css +1 -1
- package/public/themes/morning.css +1 -1
- package/dist/webpack.config.js +0 -224
|
@@ -1,31 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.StorageCleaner = void 0;
|
|
7
|
-
const config_1 = __importDefault(require("./config"));
|
|
8
|
-
const log_1 = __importDefault(require("./log"));
|
|
9
|
-
const msg_1 = require("../shared/types/msg");
|
|
1
|
+
import Config from "./config.js";
|
|
2
|
+
import log from "./log.js";
|
|
3
|
+
import { MessageType } from "../shared/types/msg.js";
|
|
10
4
|
const status_types = [
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
5
|
+
MessageType.AWAY,
|
|
6
|
+
MessageType.BACK,
|
|
7
|
+
MessageType.INVITE,
|
|
8
|
+
MessageType.JOIN,
|
|
9
|
+
MessageType.KICK,
|
|
10
|
+
MessageType.MODE,
|
|
11
|
+
MessageType.MODE_CHANNEL,
|
|
12
|
+
MessageType.MODE_USER,
|
|
13
|
+
MessageType.NICK,
|
|
14
|
+
MessageType.PART,
|
|
15
|
+
MessageType.QUIT,
|
|
16
|
+
MessageType.CTCP, // not technically a status, but generally those are only of interest temporarily
|
|
17
|
+
MessageType.CTCP_REQUEST,
|
|
18
|
+
MessageType.CHGHOST,
|
|
19
|
+
MessageType.TOPIC,
|
|
20
|
+
MessageType.TOPIC_SET_BY,
|
|
27
21
|
];
|
|
28
|
-
class StorageCleaner {
|
|
22
|
+
export class StorageCleaner {
|
|
29
23
|
db;
|
|
30
24
|
olderThanDays;
|
|
31
25
|
messageTypes;
|
|
@@ -38,7 +32,7 @@ class StorageCleaner {
|
|
|
38
32
|
this.isStopped = true;
|
|
39
33
|
this.db = db;
|
|
40
34
|
this.limit = 200;
|
|
41
|
-
const policy =
|
|
35
|
+
const policy = Config.values.storagePolicy;
|
|
42
36
|
this.olderThanDays = policy.maxAgeDays;
|
|
43
37
|
switch (policy.deletionPolicy) {
|
|
44
38
|
case "statusOnly":
|
|
@@ -49,7 +43,7 @@ class StorageCleaner {
|
|
|
49
43
|
break;
|
|
50
44
|
default:
|
|
51
45
|
// exhaustive switch guard, blows up when user specifies a invalid policy enum
|
|
52
|
-
this.messageTypes = assertNoBadPolicy(
|
|
46
|
+
this.messageTypes = assertNoBadPolicy();
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
genDeletionRequest() {
|
|
@@ -60,7 +54,7 @@ class StorageCleaner {
|
|
|
60
54
|
};
|
|
61
55
|
}
|
|
62
56
|
async runDeletesNoLimit() {
|
|
63
|
-
if (!
|
|
57
|
+
if (!Config.values.storagePolicy.enabled) {
|
|
64
58
|
// this is meant to be used by cli tools, so we guard against this
|
|
65
59
|
throw new Error("storage policy is disabled");
|
|
66
60
|
}
|
|
@@ -86,9 +80,9 @@ class StorageCleaner {
|
|
|
86
80
|
}
|
|
87
81
|
catch (err) {
|
|
88
82
|
this.errCount++;
|
|
89
|
-
|
|
83
|
+
log.error("can't clean messages", err instanceof Error ? err.message : String(err));
|
|
90
84
|
if (this.errCount === 2) {
|
|
91
|
-
|
|
85
|
+
log.error("Cleaning failed too many times, will not retry");
|
|
92
86
|
this.stop();
|
|
93
87
|
return;
|
|
94
88
|
}
|
|
@@ -105,10 +99,9 @@ class StorageCleaner {
|
|
|
105
99
|
}
|
|
106
100
|
}
|
|
107
101
|
schedule(ms) {
|
|
108
|
-
const self = this;
|
|
109
102
|
this.ticker = setTimeout(() => {
|
|
110
|
-
|
|
111
|
-
|
|
103
|
+
this.runDeletes().catch((err) => {
|
|
104
|
+
log.error("storageCleaner: unexpected failure");
|
|
112
105
|
throw err;
|
|
113
106
|
});
|
|
114
107
|
}, ms);
|
|
@@ -125,7 +118,6 @@ class StorageCleaner {
|
|
|
125
118
|
clearTimeout(this.ticker);
|
|
126
119
|
}
|
|
127
120
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
throw new Error(`Invalid deletion policy "${config_1.default.values.storagePolicy.deletionPolicy}" in the \`storagePolicy\` object, fix your config.`);
|
|
121
|
+
function assertNoBadPolicy() {
|
|
122
|
+
throw new Error(`Invalid deletion policy "${Config.values.storagePolicy.deletionPolicy}" in the \`storagePolicy\` object, fix your config.`);
|
|
131
123
|
}
|