diff --git a/api/client_test/index.html b/api/client_test/index.html
index 384c598a..39ff346d 100644
--- a/api/client_test/index.html
+++ b/api/client_test/index.html
@@ -54,9 +54,14 @@
setInterval(() => {
var token = JSON.parse(localStorage.getItem("token"));
if (token) {
+ var logincss = document.querySelector('#logincss'),
+ canRemove = logincss ? logincss: "";
+ if(canRemove !== "") {
document.querySelector("#logincss").remove();
+ canRemove = "";
+ }
}
- }, 1000);
+ }, 1000)
const settings = JSON.parse(localStorage.getItem("UserSettingsStore"));
if (settings && settings.locale.length <= 2) {
diff --git a/api/package-lock.json b/api/package-lock.json
index 75945cbe..21afe02c 100644
Binary files a/api/package-lock.json and b/api/package-lock.json differ
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts
index 5fdab623..2fd08b04 100644
--- a/api/src/routes/channels/#channel_id/messages/index.ts
+++ b/api/src/routes/channels/#channel_id/messages/index.ts
@@ -219,7 +219,10 @@ router.post(
})
);
}
-
+
+ //Fix for the client bug
+ delete message.member
+
await Promise.all([
message.save(),
emitEvent({ event: "MESSAGE_CREATE", channel_id: channel_id, data: message } as MessageCreateEvent),
diff --git a/bundle/package-lock.json b/bundle/package-lock.json
index 19c5b050..f35b9a0e 100644
Binary files a/bundle/package-lock.json and b/bundle/package-lock.json differ
diff --git a/bundle/package.json b/bundle/package.json
index efcb0f90..fc2962d4 100644
--- a/bundle/package.json
+++ b/bundle/package.json
@@ -94,14 +94,14 @@
"morgan": "^1.10.0",
"multer": "^1.4.2",
"nanocolors": "^0.2.12",
- "node-fetch": "^2.6.7",
+ "node-fetch": "^2.6.2",
"node-os-utils": "^1.3.5",
"patch-package": "^6.4.7",
"pg": "^8.7.1",
"picocolors": "^1.0.0",
"proxy-agent": "^5.0.0",
"reflect-metadata": "^0.1.13",
- "sqlite3": "^5.0.2",
+ "sqlite3": "^4.2.0",
"supertest": "^6.1.6",
"tslib": "^2.3.1",
"typeorm": "^0.2.37",
@@ -110,4 +110,4 @@
"typescript-json-schema": "^0.50.1",
"ws": "^7.4.2"
}
-}
\ No newline at end of file
+}
diff --git a/util/package-lock.json b/util/package-lock.json
index 386f95ec..9d20da93 100644
Binary files a/util/package-lock.json and b/util/package-lock.json differ
diff --git a/util/src/entities/Emoji.ts b/util/src/entities/Emoji.ts
index 32d39234..a3615b7d 100644
--- a/util/src/entities/Emoji.ts
+++ b/util/src/entities/Emoji.ts
@@ -41,6 +41,6 @@ export class Emoji extends BaseClass {
@Column({ type: "simple-array" })
roles: string[]; // roles this emoji is whitelisted to (new discord feature?)
- @Column({ type: "simple-array" })
+ @Column({ type: "simple-array", nullable: true })
groups: string[]; // user groups this emoji is whitelisted to (Fosscord extension)
}
diff --git a/util/src/util/Database.ts b/util/src/util/Database.ts
index e8177093..9ab5d14c 100644
--- a/util/src/util/Database.ts
+++ b/util/src/util/Database.ts
@@ -25,6 +25,7 @@ export function initDatabase(): Promise {
// @ts-ignore
promise = createConnection({
type,
+ charset: 'utf8mb4',
url: isSqlite ? undefined : dbConnectionString,
database: isSqlite ? dbConnectionString : undefined,
// @ts-ignore
diff --git a/util/src/util/Rights.ts b/util/src/util/Rights.ts
index f0d00baf..9a99d393 100644
--- a/util/src/util/Rights.ts
+++ b/util/src/util/Rights.ts
@@ -35,9 +35,9 @@ export class Rights extends BitField {
ADD_MEMBERS: BitFlag(8), // can manually add any members in their guilds
BYPASS_RATE_LIMITS: BitFlag(9),
CREATE_APPLICATIONS: BitFlag(10),
- CREATE_CHANNELS: BitFlag(11),
+ CREATE_CHANNELS: BitFlag(11), // can create guild channels or threads in the guilds that they have permission
CREATE_DMS: BitFlag(12),
- CREATE_DM_GROUPS: BitFlag(13),
+ CREATE_DM_GROUPS: BitFlag(13), // can create group DMs or custom orphan channels
CREATE_GUILDS: BitFlag(14),
CREATE_INVITES: BitFlag(15), // can create mass invites in the guilds that they have CREATE_INSTANT_INVITE
CREATE_ROLES: BitFlag(16),
@@ -57,6 +57,17 @@ export class Rights extends BitField {
SELF_DELETE_DISABLE: BitFlag(30), // can disable/delete own account
DEBTABLE: BitFlag(31), // can use pay-to-use features
CREDITABLE: BitFlag(32), // can receive money from monetisation related features
+ KICK_BAN_MEMBERS: BitFlag(33),
+ // can kick or ban guild or group DM members in the guilds/groups that they have KICK_MEMBERS, or BAN_MEMBERS
+ SELF_LEAVE_GROUPS: BitFlag(34),
+ // can leave the guilds or group DMs that they joined on their own (one can always leave a guild or group DMs they have been force-added)
+ PRESENCE: BitFlag(35),
+ // inverts the presence confidentiality default (OPERATOR's presence is not routed by default, others' are) for a given user
+ SELF_ADD_DISCOVERABLE: BitFlag(36), // can mark discoverable guilds that they have permissions to mark as discoverable
+ MANAGE_GUILD_DIRECTORY: BitFlag(37), // can change anything in the primary guild directory
+ INITIATE_INTERACTIONS: BitFlag(40), // can initiate interactions
+ RESPOND_TO_INTERACTIONS: BitFlag(41), // can respond to interactions
+ SEND_BACKDATED_EVENTS: BitFlag(42), // can send backdated events
};
any(permission: RightResolvable, checkOperator = true) {