Compare commits

...

3 Commits

Author SHA1 Message Date
Paul Makles 4d996deb1e feat: add "ordering" data store 2022-05-27 21:18:12 +01:00
Paul Makles a9e4839727 feat: finish reimplementation of server list 2022-05-27 19:57:41 +01:00
Paul Makles 959c084727 chore: server list integration test 2022-05-26 11:13:52 +01:00
10 changed files with 503 additions and 636 deletions

2
external/lang vendored

@ -1 +1 @@
Subproject commit a322d93399dac70a8bbb696eed6656edb0e37cd0
Subproject commit e010e46ee9f226373a253c351b50ccdeea1c8b50

View File

@ -60,18 +60,15 @@
}
},
"dependencies": {
"@fontsource/bitter": "^4.5.0",
"@insertish/vite-plugin-babel-macros": "^1.0.5",
"@revoltchat/ui": "^1.0.31",
"fs-extra": "^10.0.0",
"klaw": "^3.0.0",
"react-beautiful-dnd": "^13.1.0",
"sirv-cli": "^1.0.14",
"vite": "^2.6.14"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "^7.17.9",
"@fontsource/atkinson-hyperlegible": "^4.4.5",
"@fontsource/bitter": "^4.5.7",
"@fontsource/comic-neue": "^4.4.5",
"@fontsource/fira-code": "^4.4.5",
"@fontsource/inter": "^4.4.5",
@ -91,13 +88,15 @@
"@fontsource/ubuntu": "^4.4.5",
"@fontsource/ubuntu-mono": "^4.4.5",
"@hcaptcha/react-hcaptcha": "^0.3.6",
"@insertish/vite-plugin-babel-macros": "^1.0.5",
"@preact/preset-vite": "^2.0.0",
"@revoltchat/ui": "1.0.33",
"@rollup/plugin-replace": "^2.4.2",
"@styled-icons/boxicons-logos": "^10.38.0",
"@styled-icons/boxicons-regular": "^10.38.0",
"@styled-icons/boxicons-solid": "^10.38.0",
"@styled-icons/simple-icons": "^10.33.0",
"@tippyjs/react": "^4.2.5",
"@tippyjs/react": "4.2.6",
"@traptitech/markdown-it-katex": "^3.4.3",
"@traptitech/markdown-it-spoiler": "^1.1.6",
"@trivago/prettier-plugin-sort-imports": "^2.0.2",
@ -107,7 +106,7 @@
"@types/node": "^15.12.4",
"@types/preact-i18n": "^2.3.0",
"@types/prismjs": "^1.16.5",
"@types/react-beautiful-dnd": "^13.1.2",
"@types/react-beautiful-dnd": "^13",
"@types/react-helmet": "^6.1.1",
"@types/react-router-dom": "^5.1.7",
"@types/react-scroll": "^1.8.2",
@ -132,20 +131,21 @@
"markdown-it-emoji": "^2.0.0",
"mediasoup-client": "npm:@insertish/mediasoup-client@3.6.36-esnext",
"mobx": "^6.6.0",
"mobx-react-lite": "^3.3.0",
"mobx-react-lite": "3.4.0",
"preact": "^10.5.14",
"preact-context-menu": "0.4.0-patch.0",
"preact-i18n": "^2.4.0-preactx",
"prettier": "^2.3.1",
"prismjs": "^1.23.0",
"react-device-detect": "^1.17.0",
"react-beautiful-dnd": "^13.1.0",
"react-device-detect": "2.2.2",
"react-helmet": "^6.1.0",
"react-hook-form": "6.3.0",
"react-overlapping-panels": "1.2.2",
"react-router-dom": "^5.2.0",
"react-scroll": "^1.8.2",
"react-virtuoso": "^1.10.4",
"revolt.js": "6.0.0-2",
"react-virtuoso": "^2.12.0",
"revolt.js": "6.0.1",
"rimraf": "^3.0.2",
"sass": "^1.35.1",
"shade-blend-color": "^1.0.0",

View File

@ -1,448 +1,42 @@
import { Plus } from "@styled-icons/boxicons-regular";
import { Cog, Compass } from "@styled-icons/boxicons-solid";
import { observer } from "mobx-react-lite";
import { Link, useHistory, useLocation, useParams } from "react-router-dom";
import styled, { css } from "styled-components/macro";
import { useParams } from "react-router-dom";
import { useTriggerEvents } from "preact-context-menu";
import { useCallback } from "preact/hooks";
import ConditionalLink from "../../../lib/ConditionalLink";
import PaintCounter from "../../../lib/PaintCounter";
import { isTouchscreenDevice } from "../../../lib/isTouchscreenDevice";
import { ServerList } from "@revoltchat/ui";
import { useApplicationState } from "../../../mobx/State";
import { SIDEBAR_CHANNELS } from "../../../mobx/stores/Layout";
import { useIntermediate } from "../../../context/intermediate/Intermediate";
import { useClient } from "../../../context/revoltjs/RevoltClient";
import ChannelIcon from "../../common/ChannelIcon";
import ServerIcon from "../../common/ServerIcon";
import Tooltip from "../../common/Tooltip";
import UserHover from "../../common/user/UserHover";
import UserIcon from "../../common/user/UserIcon";
import IconButton from "../../ui/IconButton";
import LineDivider from "../../ui/LineDivider";
import { Children } from "../../../types/Preact";
function Icon({
children,
unread,
count,
size,
}: {
children: Children;
unread?: "mention" | "unread";
count: number | 0;
size: number;
}) {
return (
<svg width={size} height={size} aria-hidden="true" viewBox="0 0 32 32">
<use href="#serverIndicator" />
<foreignObject
x="0"
y="0"
width="32"
height="32"
mask={unread ? "url(#server)" : undefined}>
{children}
</foreignObject>
{unread === "unread" && (
<circle cx="27" cy="5" r="5" fill={"white"} />
)}
{unread === "mention" && (
<>
<circle cx="27" cy="5" r="5" fill={"var(--error)"} />
<text
x="27"
y="5"
r="5"
fill={"white"}
fontSize={"7.5"}
fontWeight={600}
text-anchor="middle"
alignmentBaseline={"middle"}
dominant-baseline={"middle"}>
{count < 10 ? count : "9+"}
</text>
</>
)}
</svg>
);
}
const ServersBase = styled.div`
width: 58px;
height: 100%;
padding-inline-start: 2px;
display: flex;
flex-shrink: 0;
flex-direction: column;
${isTouchscreenDevice &&
css`
padding-bottom: 50px;
`}
`;
const ServerList = styled.div`
flex-grow: 1;
display: flex;
overflow-y: scroll;
padding-bottom: 20px;
flex-direction: column;
scrollbar-width: none;
> :first-child > svg {
margin: 6px 0 6px 4px;
}
&::-webkit-scrollbar {
width: 0px;
}
`;
const ServerEntry = styled.div<{ active: boolean; home?: boolean }>`
height: 54px;
display: flex;
align-items: center;
//transition: 0.2s ease height;
:focus {
outline: 3px solid blue;
}
> div {
height: 42px;
padding-inline-start: 6px;
display: grid;
place-items: center;
border-start-start-radius: 50%;
border-end-start-radius: 50%;
&:active {
transform: translateY(1px);
}
${(props) =>
props.active &&
css`
&:active {
transform: none;
}
`}
}
> span {
width: 0;
display: relative;
${(props) =>
!props.active &&
css`
display: none;
`}
svg {
margin-top: 5px;
pointer-events: none;
}
}
${(props) =>
(!props.active || props.home) &&
css`
cursor: pointer;
`}
`;
const ServerCircle = styled.div`
width: 54px;
height: 54px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
.circle {
display: flex;
align-items: center;
justify-content: center;
background-color: var(--primary-background);
border-radius: 50%;
height: 42px;
width: 42px;
transition: background-color 0.1s ease-in;
cursor: pointer;
> div svg {
color: var(--accent);
}
&:active {
transform: translateY(1px);
}
}
`;
const SettingsButton = styled.div`
width: 50px;
height: 56px;
display: grid;
place-items: center;
`;
function Swoosh() {
const sidebarOpen = useApplicationState().layout.getSectionState(
SIDEBAR_CHANNELS,
true,
);
const fill = sidebarOpen
? "var(--sidebar-active)"
: "var(--primary-background)";
return (
<span>
<svg
width="56"
height="106"
viewBox="0 0 56 106"
xmlns="http://www.w3.org/2000/svg">
<path
d="M54 53C54 67.9117 41.9117 80 27 80C12.0883 80 0 67.9117 0 53C0 38.0883 12.0883 26 27 26C41.9117 26 54 38.0883 54 53Z"
fill={fill}
/>
<path
d="M27.0002 80C4.50023 80 56.0002 53 56.0002 53V106C56.0002 106 49.5002 80 27.0002 80Z"
fill={fill}
/>
<path
d="M27.0003 26C4.50025 26 56 53 56 53L56.0003 0C56.0003 0 49.5003 26 27.0003 26Z"
fill={fill}
/>
<rect x="51" y="50" width="5" height="7" fill={fill} />
</svg>
</span>
);
}
/**
* Server list sidebar shim component
*/
export default observer(() => {
const client = useClient();
const state = useApplicationState();
const { server: server_id } = useParams<{ server?: string }>();
const server = server_id ? client.servers.get(server_id) : undefined;
const servers = [...client.servers.values()];
const channels = [...client.channels.values()];
const history = useHistory();
const path = useLocation().pathname;
const { openScreen } = useIntermediate();
const { server: server_id } = useParams<{ server?: string }>();
let alertCount = [...client.users.values()].filter(
(x) => x.relationship === "Incoming",
).length;
const homeActive =
typeof server === "undefined" &&
!path.startsWith("/invite") &&
!path.startsWith("/discover");
const createServer = useCallback(
() =>
openScreen({
id: "special_input",
type: "create_server",
}),
[],
);
return (
<ServersBase>
<ServerList>
<ConditionalLink
active={homeActive}
to={state.layout.getLastHomePath()}>
<ServerEntry home active={homeActive}>
<Swoosh />
<div
{...useTriggerEvents("Status")}
onClick={() =>
homeActive && history.push("/settings")
}>
<UserHover user={client.user ?? undefined}>
<Icon
size={42}
unread={
alertCount > 0 ? "mention" : undefined
}
count={alertCount}>
<UserIcon
target={client.user ?? undefined}
size={32}
status
hover
/>
</Icon>
</UserHover>
</div>
</ServerEntry>
</ConditionalLink>
{channels
.filter(
(x) =>
((x.channel_type === "DirectMessage" && x.active) ||
x.channel_type === "Group") &&
x.unread,
)
.map((x) => {
const unreadCount = x.mentions.length;
return (
<Link to={`/channel/${x._id}`}>
<ServerEntry
home
active={false}
{...useTriggerEvents("Menu", {
channel: x._id,
unread: true,
})}>
<div>
<Icon
size={42}
unread={
unreadCount > 0
? "mention"
: "unread"
}
count={unreadCount}>
{x.channel_type ===
"DirectMessage" ? (
<UserIcon
target={x.recipient}
size={32}
hover
/>
) : (
<ChannelIcon
target={x}
size={32}
hover
/>
)}
</Icon>
</div>
</ServerEntry>
</Link>
);
})}
<LineDivider />
{servers.map((server) => {
const active = server._id === server_id;
const isUnread = server.isUnread(state.notifications);
const mentionCount = server.getMentions(
state.notifications,
).length;
return (
<ConditionalLink
key={server._id}
active={active}
to={state.layout.getServerPath(server._id)}>
<ServerEntry
active={active}
{...useTriggerEvents("Menu", {
server: server._id,
unread: isUnread,
})}>
<Swoosh />
<Tooltip
content={server.name}
placement="right">
<Icon
size={42}
unread={
mentionCount > 0
? "mention"
: isUnread
? "unread"
: undefined
}
count={mentionCount}>
<ServerIcon size={32} target={server} />
</Icon>
</Tooltip>
</ServerEntry>
</ConditionalLink>
);
})}
{/*<LineDivider />*/}
<ServerCircle>
<Tooltip content="Add a Server" placement="right">
<div className="circle">
<IconButton
onClick={() =>
openScreen({
id: "special_input",
type: "create_server",
})
}>
<Plus size={32} />
</IconButton>
</div>
</Tooltip>
</ServerCircle>
{!isTouchscreenDevice && (
<ServerCircle>
<Tooltip
content={
<div
style={{
display: "flex",
alignItems: "center",
gap: "6px",
}}>
<div>Discover Revolt</div>
<div
style={{
padding: "1px 5px",
fontSize: "9px",
background: "var(--status-busy)",
borderRadius: "60px",
}}>
NEW
</div>
</div>
}
placement="right">
<div className="circle">
<IconButton>
<Link to="/discover">
<a>
<Compass size={32} />
</a>
</Link>
</IconButton>
</div>
</Tooltip>
</ServerCircle>
)}
</ServerList>
{!isTouchscreenDevice && (
<Tooltip content={"Settings"} placement="right">
<ServerCircle>
<Link to="/settings">
<div className="circle">
<IconButton>
<Cog
size={24}
fill="var(--secondary-foreground) !important"
/>
</IconButton>
</div>
</Link>
</ServerCircle>
</Tooltip>
)}
<PaintCounter small />
</ServersBase>
<ServerList
client={client}
active={server_id}
createServer={createServer}
permit={state.notifications}
home={state.layout.getLastHomePath}
servers={state.ordering.orderedServers}
reorder={state.ordering.reorderServer}
/>
);
});

View File

@ -1,11 +1,14 @@
import { BrowserRouter as Router } from "react-router-dom";
import { BrowserRouter as Router, Link } from "react-router-dom";
import { ContextMenuTrigger } from "preact-context-menu";
import { Text } from "preact-i18n";
import { useEffect, useState } from "preact/hooks";
import { LinkProvider, TextProvider, TrigProvider } from "@revoltchat/ui";
import { hydrateState } from "../mobx/State";
import Preloader from "../components/ui/Preloader";
import { Children } from "../types/Preact";
import Locale from "./Locale";
import Theme from "./Theme";
@ -28,14 +31,20 @@ export default function Context({ children }: { children: Children }) {
return (
<Router basename={import.meta.env.BASE_URL}>
<Locale>
<Intermediate>
<Client>
{children}
<SyncManager />
</Client>
</Intermediate>
</Locale>
<LinkProvider value={Link}>
<TextProvider value={Text as any}>
<TrigProvider value={ContextMenuTrigger}>
<Locale>
<Intermediate>
<Client>
{children}
<SyncManager />
</Client>
</Intermediate>
</Locale>
</TrigProvider>
</TextProvider>
</LinkProvider>
<Theme />
</Router>
);

View File

@ -17,6 +17,7 @@ import Layout from "./stores/Layout";
import LocaleOptions from "./stores/LocaleOptions";
import MessageQueue from "./stores/MessageQueue";
import NotificationOptions from "./stores/NotificationOptions";
import Ordering from "./stores/Ordering";
import Plugins from "./stores/Plugins";
import ServerConfig from "./stores/ServerConfig";
import Settings from "./stores/Settings";
@ -41,6 +42,7 @@ export default class State {
settings: Settings;
sync: Sync;
plugins: Plugins;
ordering: Ordering;
private persistent: [string, Persistent<unknown>][] = [];
private disabled: Set<string> = new Set();
@ -62,6 +64,7 @@ export default class State {
this.settings = new Settings();
this.sync = new Sync(this);
this.plugins = new Plugins(this);
this.ordering = new Ordering(this);
makeAutoObservable(this, {
client: false,
@ -280,6 +283,7 @@ export default class State {
this.queue = new MessageQueue();
this.settings = new Settings();
this.sync = new Sync(this);
this.ordering = new Ordering(this);
this.save();

View File

@ -58,6 +58,9 @@ export default class Layout implements Store, Persistent<Data> {
this.lastDiscoverPath = "/discover/servers";
this.lastOpened = new ObservableMap();
this.openSections = new ObservableMap();
this.getLastHomePath = this.getLastHomePath.bind(this);
makeAutoObservable(this);
}

View File

@ -0,0 +1,93 @@
import { action, computed, makeAutoObservable } from "mobx";
import { reorder } from "@revoltchat/ui";
import State from "../State";
import Persistent from "../interfaces/Persistent";
import Store from "../interfaces/Store";
import Syncable from "../interfaces/Syncable";
export interface Data {
servers?: string[];
}
/**
* Keeps track of ordering of various elements
*/
export default class Ordering implements Store, Persistent<Data>, Syncable {
private state: State;
/**
* Ordered list of server IDs
*/
private servers: string[];
/**
* Construct new Layout store.
*/
constructor(state: State) {
this.servers = [];
makeAutoObservable(this);
this.state = state;
this.reorderServer = this.reorderServer.bind(this);
}
get id() {
return "ordering";
}
toJSON() {
return {
servers: this.servers,
};
}
@action hydrate(data: Data) {
if (data.servers) {
this.servers = data.servers;
}
}
apply(_key: string, data: unknown, _revision: number): void {
this.hydrate(data as Data);
}
toSyncable(): { [key: string]: object } {
return {
ordering: this.toJSON(),
};
}
/**
* All known servers with ordering applied
*/
@computed get orderedServers() {
const known = new Set(this.state.client?.servers.keys() ?? []);
const ordered = [...this.servers];
const out = [];
for (const id of ordered) {
if (known.delete(id)) {
out.push(this.state.client!.servers.get(id)!);
}
}
for (const id of known) {
out.push(this.state.client!.servers.get(id)!);
}
return out;
}
/**
* Re-order a server
*/
@action reorderServer(source: number, dest: number) {
this.servers = reorder(
this.orderedServers.map((x) => x._id),
source,
dest,
);
}
}

View File

@ -14,13 +14,19 @@ import State from "../State";
import Persistent from "../interfaces/Persistent";
import Store from "../interfaces/Store";
export type SyncKeys = "theme" | "appearance" | "locale" | "notifications";
export type SyncKeys =
| "theme"
| "appearance"
| "locale"
| "notifications"
| "ordering";
export const SYNC_KEYS: SyncKeys[] = [
"theme",
"appearance",
"locale",
"notifications",
"ordering",
];
export interface Data {
@ -151,6 +157,13 @@ export default class Sync implements Store, Persistent<Data> {
);
this.setRevision("notifications", notifications[0]);
}
const ordering = tryRead("ordering");
if (ordering) {
this.state.setDisabled("ordering");
this.state.ordering.apply("ordering", ordering[1], ordering[0]);
this.setRevision("ordering", ordering[0]);
}
});
}

View File

@ -2,15 +2,15 @@ import { Route, Switch } from "react-router-dom";
import { lazy, Suspense } from "preact/compat";
import { Masks } from "@revoltchat/ui";
import ErrorBoundary from "../lib/ErrorBoundary";
import FakeClient from "../lib/FakeClient";
import Context from "../context";
import { CheckAuth } from "../context/revoltjs/CheckAuth";
import Masks from "../components/ui/Masks";
import Preloader from "../components/ui/Preloader";
import Invite from "./invite/Invite";
const Login = lazy(() => import("./login/Login"));

515
yarn.lock
View File

@ -5,6 +5,16 @@ __metadata:
version: 6
cacheKey: 8
"@ampproject/remapping@npm:^2.1.0":
version: 2.2.0
resolution: "@ampproject/remapping@npm:2.2.0"
dependencies:
"@jridgewell/gen-mapping": ^0.1.0
"@jridgewell/trace-mapping": ^0.3.9
checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292
languageName: node
linkType: hard
"@apideck/better-ajv-errors@npm:^0.3.1":
version: 0.3.2
resolution: "@apideck/better-ajv-errors@npm:0.3.2"
@ -52,10 +62,10 @@ __metadata:
languageName: node
linkType: hard
"@babel/compat-data@npm:^7.16.4":
version: 7.16.8
resolution: "@babel/compat-data@npm:7.16.8"
checksum: 10da2dac5ea9589c251412b00920889910e476c1ab24cd7095577635bc3a27c785151c89db4e26285fd39f509510ec29ab9d7e721f4fc16e4aec221cacde784b
"@babel/compat-data@npm:^7.17.10":
version: 7.17.10
resolution: "@babel/compat-data@npm:7.17.10"
checksum: e85051087cd4690de5061909a2dd2d7f8b6434a3c2e30be6c119758db2027ae1845bcd75a81127423dd568b706ac6994a1a3d7d701069a23bf5cfe900728290b
languageName: node
linkType: hard
@ -107,25 +117,25 @@ __metadata:
linkType: hard
"@babel/core@npm:^7.13.10":
version: 7.16.7
resolution: "@babel/core@npm:7.16.7"
version: 7.18.2
resolution: "@babel/core@npm:7.18.2"
dependencies:
"@ampproject/remapping": ^2.1.0
"@babel/code-frame": ^7.16.7
"@babel/generator": ^7.16.7
"@babel/helper-compilation-targets": ^7.16.7
"@babel/helper-module-transforms": ^7.16.7
"@babel/helpers": ^7.16.7
"@babel/parser": ^7.16.7
"@babel/generator": ^7.18.2
"@babel/helper-compilation-targets": ^7.18.2
"@babel/helper-module-transforms": ^7.18.0
"@babel/helpers": ^7.18.2
"@babel/parser": ^7.18.0
"@babel/template": ^7.16.7
"@babel/traverse": ^7.16.7
"@babel/types": ^7.16.7
"@babel/traverse": ^7.18.2
"@babel/types": ^7.18.2
convert-source-map: ^1.7.0
debug: ^4.1.0
gensync: ^1.0.0-beta.2
json5: ^2.1.2
json5: ^2.2.1
semver: ^6.3.0
source-map: ^0.5.0
checksum: 3206e077e76db189726c4da19a5296eae11c6c1f5abea7013e74f18708bb91616914717ff8d8ca466cc0ba9d2d2147e9a84c3c357b9ad4cba601da14107838ed
checksum: 14a4142c12e004cd2477b7610408d5788ee5dd821ee9e4de204cbb72d9c399d858d9deabc3d49914d5d7c2927548160c19bdc7524b1a9f6acc1ec96a8d9848dd
languageName: node
linkType: hard
@ -151,7 +161,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/generator@npm:^7.16.7, @babel/generator@npm:^7.16.8":
"@babel/generator@npm:^7.16.8":
version: 7.16.8
resolution: "@babel/generator@npm:7.16.8"
dependencies:
@ -162,6 +172,17 @@ __metadata:
languageName: node
linkType: hard
"@babel/generator@npm:^7.18.2":
version: 7.18.2
resolution: "@babel/generator@npm:7.18.2"
dependencies:
"@babel/types": ^7.18.2
"@jridgewell/gen-mapping": ^0.3.0
jsesc: ^2.5.1
checksum: d0661e95532ddd97566d41fec26355a7b28d1cbc4df95fe80cc084c413342935911b48db20910708db39714844ddd614f61c2ec4cca3fb10181418bdcaa2e7a3
languageName: node
linkType: hard
"@babel/helper-annotate-as-pure@npm:^7.0.0, @babel/helper-annotate-as-pure@npm:^7.14.5":
version: 7.14.5
resolution: "@babel/helper-annotate-as-pure@npm:7.14.5"
@ -204,17 +225,17 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-compilation-targets@npm:^7.16.7":
version: 7.16.7
resolution: "@babel/helper-compilation-targets@npm:7.16.7"
"@babel/helper-compilation-targets@npm:^7.18.2":
version: 7.18.2
resolution: "@babel/helper-compilation-targets@npm:7.18.2"
dependencies:
"@babel/compat-data": ^7.16.4
"@babel/compat-data": ^7.17.10
"@babel/helper-validator-option": ^7.16.7
browserslist: ^4.17.5
browserslist: ^4.20.2
semver: ^6.3.0
peerDependencies:
"@babel/core": ^7.0.0
checksum: 7238aaee78c011a42fb5ca92e5eff098752f7b314c2111d7bb9cdd58792fcab1b9c819b59f6a0851dc210dc09dc06b30d130a23982753e70eb3111bc65204842
checksum: 4f02e79f20c0b3f8db5049ba8c35027c41ccb3fc7884835d04e49886538e0f55702959db1bb75213c94a5708fec2dc81a443047559a4f184abb884c72c0059b4
languageName: node
linkType: hard
@ -290,6 +311,13 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-environment-visitor@npm:^7.18.2":
version: 7.18.2
resolution: "@babel/helper-environment-visitor@npm:7.18.2"
checksum: 1a9c8726fad454a082d077952a90f17188e92eabb3de236cb4782c49b39e3f69c327e272b965e9a20ff8abf37d30d03ffa6fd7974625a6c23946f70f7527f5e9
languageName: node
linkType: hard
"@babel/helper-explode-assignable-expression@npm:^7.14.5":
version: 7.14.5
resolution: "@babel/helper-explode-assignable-expression@npm:7.14.5"
@ -428,19 +456,19 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-module-transforms@npm:^7.16.7":
version: 7.16.7
resolution: "@babel/helper-module-transforms@npm:7.16.7"
"@babel/helper-module-transforms@npm:^7.18.0":
version: 7.18.0
resolution: "@babel/helper-module-transforms@npm:7.18.0"
dependencies:
"@babel/helper-environment-visitor": ^7.16.7
"@babel/helper-module-imports": ^7.16.7
"@babel/helper-simple-access": ^7.16.7
"@babel/helper-simple-access": ^7.17.7
"@babel/helper-split-export-declaration": ^7.16.7
"@babel/helper-validator-identifier": ^7.16.7
"@babel/template": ^7.16.7
"@babel/traverse": ^7.16.7
"@babel/types": ^7.16.7
checksum: 6e930ce776c979f299cdbeaf80187f4ab086d75287b96ecc1c6896d392fcb561065f0d6219fc06fa79b4ceb4bbdc1a9847da8099aba9b077d0a9e583500fb673
"@babel/traverse": ^7.18.0
"@babel/types": ^7.18.0
checksum: 824c3967c08d75bb36adc18c31dcafebcd495b75b723e2e17c6185e88daf5c6db62a6a75d9f791b5f38618a349e7cb32503e715a1b9a4e8bad4d0f43e3e6b523
languageName: node
linkType: hard
@ -476,6 +504,13 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-plugin-utils@npm:^7.17.12":
version: 7.17.12
resolution: "@babel/helper-plugin-utils@npm:7.17.12"
checksum: 4813cf0ddb0f143de032cb88d4207024a2334951db330f8216d6fa253ea320c02c9b2667429ef1a34b5e95d4cfbd085f6cb72d418999751c31d0baf2422cc61d
languageName: node
linkType: hard
"@babel/helper-remap-async-to-generator@npm:^7.14.5":
version: 7.14.5
resolution: "@babel/helper-remap-async-to-generator@npm:7.14.5"
@ -521,12 +556,12 @@ __metadata:
languageName: node
linkType: hard
"@babel/helper-simple-access@npm:^7.16.7":
version: 7.16.7
resolution: "@babel/helper-simple-access@npm:7.16.7"
"@babel/helper-simple-access@npm:^7.17.7":
version: 7.18.2
resolution: "@babel/helper-simple-access@npm:7.18.2"
dependencies:
"@babel/types": ^7.16.7
checksum: 8d22c46c5ec2ead0686c4d5a3d1d12b5190c59be676bfe0d9d89df62b437b51d1a3df2ccfb8a77dded2e585176ebf12986accb6d45a18cff229eef3b10344f4b
"@babel/types": ^7.18.2
checksum: c0862b56db7e120754d89273a039b128c27517389f6a4425ff24e49779791e8fe10061579171fb986be81fa076778acb847c709f6f5e396278d9c5e01360c375
languageName: node
linkType: hard
@ -608,14 +643,14 @@ __metadata:
languageName: node
linkType: hard
"@babel/helpers@npm:^7.16.7":
version: 7.16.7
resolution: "@babel/helpers@npm:7.16.7"
"@babel/helpers@npm:^7.18.2":
version: 7.18.2
resolution: "@babel/helpers@npm:7.18.2"
dependencies:
"@babel/template": ^7.16.7
"@babel/traverse": ^7.16.7
"@babel/types": ^7.16.7
checksum: 75504c76b66a29b91f954fcc0867dfe275a4cfba5b44df6d64405df74ea72f967fccfa63d62c31c423c5502d113290000c581e0e4858a214f0303d7ecf55c29f
"@babel/traverse": ^7.18.2
"@babel/types": ^7.18.2
checksum: 94620242f23f6d5f9b83a02b1aa1632ffb05b0815e1bb53d3b46d64aa8e771066bba1db8bd267d9091fb00134cfaeda6a8d69d1d4cc2c89658631adfa077ae70
languageName: node
linkType: hard
@ -650,12 +685,12 @@ __metadata:
languageName: node
linkType: hard
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.16.8":
version: 7.16.8
resolution: "@babel/parser@npm:7.16.8"
"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.18.0":
version: 7.18.3
resolution: "@babel/parser@npm:7.18.3"
bin:
parser: ./bin/babel-parser.js
checksum: f6bc2eb1f298fcb81db34c2d343fd05d8c59dbc5419a88c1cb4d298c7a3863e4d54f5a4f38a40e1aa979e4ce355816348730b471c1d787d424ed52b270fc7be0
checksum: 6894b3266f84b6c6b52bf09e7f61526efc35d8afa72ff0ad9aecb27a4b6de02d1ebc7f61fc3ae7c0fd8ecb5ac17083d1f27c1b3176e5eac41131d7160a9a7d88
languageName: node
linkType: hard
@ -668,6 +703,15 @@ __metadata:
languageName: node
linkType: hard
"@babel/parser@npm:^7.16.7, @babel/parser@npm:^7.16.8":
version: 7.16.8
resolution: "@babel/parser@npm:7.16.8"
bin:
parser: ./bin/babel-parser.js
checksum: f6bc2eb1f298fcb81db34c2d343fd05d8c59dbc5419a88c1cb4d298c7a3863e4d54f5a4f38a40e1aa979e4ce355816348730b471c1d787d424ed52b270fc7be0
languageName: node
linkType: hard
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.14.5":
version: 7.14.5
resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.14.5"
@ -963,13 +1007,13 @@ __metadata:
linkType: hard
"@babel/plugin-syntax-jsx@npm:^7.12.13":
version: 7.16.7
resolution: "@babel/plugin-syntax-jsx@npm:7.16.7"
version: 7.17.12
resolution: "@babel/plugin-syntax-jsx@npm:7.17.12"
dependencies:
"@babel/helper-plugin-utils": ^7.16.7
"@babel/helper-plugin-utils": ^7.17.12
peerDependencies:
"@babel/core": ^7.0.0-0
checksum: cd9b0e53c50e8ddb0afaf0f42e0b221a94e4f59aee32a591364266a31195c48cac5fef288d02c1c935686bda982d2e0f1ed61cceb995fc9f6fb09ef5ebecdd2b
checksum: 6acd0bbca8c3e0100ad61f3b7d0b0111cd241a0710b120b298c4aa0e07be02eccbcca61ede1e7678ade1783a0979f20305b62263df6767fa3fbf658670d82af5
languageName: node
linkType: hard
@ -1062,13 +1106,13 @@ __metadata:
linkType: hard
"@babel/plugin-syntax-typescript@npm:^7.12.13":
version: 7.16.7
resolution: "@babel/plugin-syntax-typescript@npm:7.16.7"
version: 7.17.12
resolution: "@babel/plugin-syntax-typescript@npm:7.17.12"
dependencies:
"@babel/helper-plugin-utils": ^7.16.7
"@babel/helper-plugin-utils": ^7.17.12
peerDependencies:
"@babel/core": ^7.0.0-0
checksum: 661e636060609ede9a402e22603b01784c21fabb0a637e65f561c8159351fe0130bbc11fdefe31902107885e3332fc34d95eb652ac61d3f61f2d61f5da20609e
checksum: 50ab09f1953a2b0586cff9e29bf7cea3d886b48c1361a861687c2aef46356c6d73778c3341b0c051dc82a34417f19e9d759ae918353c5a98d25e85f2f6d24181
languageName: node
linkType: hard
@ -1546,7 +1590,7 @@ __metadata:
languageName: node
linkType: hard
"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.5, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2":
"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.5, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.8.4":
version: 7.15.3
resolution: "@babel/runtime@npm:7.15.3"
dependencies:
@ -1555,12 +1599,12 @@ __metadata:
languageName: node
linkType: hard
"@babel/runtime@npm:^7.12.5":
version: 7.16.7
resolution: "@babel/runtime@npm:7.16.7"
"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.9.2":
version: 7.18.3
resolution: "@babel/runtime@npm:7.18.3"
dependencies:
regenerator-runtime: ^0.13.4
checksum: 47912f0aaacd1cab2e2552aaf3e6eaffbcaf2d5ac9b07a89a12ac0d42029cb92c070b0d16f825e4277c4a34677c54d8ffe85e1f7c6feb57de58f700eec67ce2f
checksum: db8526226aa02cfa35a5a7ac1a34b5f303c62a1f000c7db48cb06c6290e616483e5036ab3c4e7a84d0f3be6d4e2148d5fe5cec9564bf955f505c3e764b83d7f1
languageName: node
linkType: hard
@ -1654,6 +1698,24 @@ __metadata:
languageName: node
linkType: hard
"@babel/traverse@npm:^7.18.0, @babel/traverse@npm:^7.18.2":
version: 7.18.2
resolution: "@babel/traverse@npm:7.18.2"
dependencies:
"@babel/code-frame": ^7.16.7
"@babel/generator": ^7.18.2
"@babel/helper-environment-visitor": ^7.18.2
"@babel/helper-function-name": ^7.17.9
"@babel/helper-hoist-variables": ^7.16.7
"@babel/helper-split-export-declaration": ^7.16.7
"@babel/parser": ^7.18.0
"@babel/types": ^7.18.2
debug: ^4.1.0
globals: ^11.1.0
checksum: e21c2d550bf610406cf21ef6fbec525cb1d80b9d6d71af67552478a24ee371203cb4025b23b110ae7288a62a874ad5898daad19ad23daa95dfc8ab47a47a092f
languageName: node
linkType: hard
"@babel/types@npm:7.13.0":
version: 7.13.0
resolution: "@babel/types@npm:7.13.0"
@ -1665,13 +1727,13 @@ __metadata:
languageName: node
linkType: hard
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8, @babel/types@npm:^7.3.0":
version: 7.16.8
resolution: "@babel/types@npm:7.16.8"
"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.0, @babel/types@npm:^7.18.2, @babel/types@npm:^7.3.0":
version: 7.18.2
resolution: "@babel/types@npm:7.18.2"
dependencies:
"@babel/helper-validator-identifier": ^7.16.7
to-fast-properties: ^2.0.0
checksum: 4f6a187b2924df70e21d6e6c0822f91b1b936fe060bc92bb477b93bd8a712c88fe41a73f85c0ec53b033353374fe33e773b04ffc340ad36afd8f647dd05c4ee1
checksum: 3750bcb9ef6f36ecf0c1477cf6010cd23f2db5cb93f6771ba84c07c08aa005934532bc81e9067192f85214c43e16731e0e3c244773071879967fd1cd22ba2144
languageName: node
linkType: hard
@ -1685,6 +1747,16 @@ __metadata:
languageName: node
linkType: hard
"@babel/types@npm:^7.16.7, @babel/types@npm:^7.16.8":
version: 7.16.8
resolution: "@babel/types@npm:7.16.8"
dependencies:
"@babel/helper-validator-identifier": ^7.16.7
to-fast-properties: ^2.0.0
checksum: 4f6a187b2924df70e21d6e6c0822f91b1b936fe060bc92bb477b93bd8a712c88fe41a73f85c0ec53b033353374fe33e773b04ffc340ad36afd8f647dd05c4ee1
languageName: node
linkType: hard
"@babel/types@npm:^7.17.0, @babel/types@npm:^7.8.3":
version: 7.17.0
resolution: "@babel/types@npm:7.17.0"
@ -1749,10 +1821,10 @@ __metadata:
languageName: node
linkType: hard
"@fontsource/bitter@npm:^4.5.0":
version: 4.5.0
resolution: "@fontsource/bitter@npm:4.5.0"
checksum: f87d9cb04519586adeb3c9e7f069efecd88448c352a5b8409c6aa5046309b0424c41bcb70baaefee3dd731a5c8dafc296c430b9557df11dfde3306ce102f7c75
"@fontsource/bitter@npm:^4.5.7":
version: 4.5.7
resolution: "@fontsource/bitter@npm:4.5.7"
checksum: b60995e5411a04d52bc69b45221dc81828e3b13515abb2e4d338ab9f24618fbfebce35aaff9ad48a04691b7b11167c0cdfae280b2c0c0638e6425e110532ff5f
languageName: node
linkType: hard
@ -1933,9 +2005,9 @@ __metadata:
languageName: node
linkType: hard
"@insertish/oapi@npm:0.1.15":
version: 0.1.15
resolution: "@insertish/oapi@npm:0.1.15"
"@insertish/oapi@npm:0.1.16":
version: 0.1.16
resolution: "@insertish/oapi@npm:0.1.16"
dependencies:
axios: ^0.26.1
openapi-typescript: ^5.2.0
@ -1947,7 +2019,7 @@ __metadata:
optional: true
bin:
oapilib: cli.js
checksum: e4b34382f8f64eb6f5e6f9e3df6e607341031c4d4571169d7d7ad75e76f5dabc766de467f9f6a1cdd35818ce39724daa4a5ce487ccb5d069379a6dfab0faf8b6
checksum: 746e447fd41c6a3925b36af1747c8fe9591e5d93bf119a6a8d22ff76b779f325ec9c0f13dd77ff1957aa54c365c0c8ac9c5efab74c63d4897efe20c8c3270032
languageName: node
linkType: hard
@ -1967,6 +2039,58 @@ __metadata:
languageName: node
linkType: hard
"@jridgewell/gen-mapping@npm:^0.1.0":
version: 0.1.1
resolution: "@jridgewell/gen-mapping@npm:0.1.1"
dependencies:
"@jridgewell/set-array": ^1.0.0
"@jridgewell/sourcemap-codec": ^1.4.10
checksum: 3bcc21fe786de6ffbf35c399a174faab05eb23ce6a03e8769569de28abbf4facc2db36a9ddb0150545ae23a8d35a7cf7237b2aa9e9356a7c626fb4698287d5cc
languageName: node
linkType: hard
"@jridgewell/gen-mapping@npm:^0.3.0":
version: 0.3.1
resolution: "@jridgewell/gen-mapping@npm:0.3.1"
dependencies:
"@jridgewell/set-array": ^1.0.0
"@jridgewell/sourcemap-codec": ^1.4.10
"@jridgewell/trace-mapping": ^0.3.9
checksum: e9e7bb3335dea9e60872089761d4e8e089597360cdb1af90370e9d53b7d67232c1e0a3ab65fbfef4fc785745193fbc56bff9f3a6cab6c6ce3f15e12b4191f86b
languageName: node
linkType: hard
"@jridgewell/resolve-uri@npm:^3.0.3":
version: 3.0.7
resolution: "@jridgewell/resolve-uri@npm:3.0.7"
checksum: 94f454f4cef8f0acaad85745fd3ca6cd0d62ef731cf9f952ecb89b8b2ce5e20998cd52be31311cedc5fa5b28b1708a15f3ad9df0fe1447ee4f42959b036c4b5b
languageName: node
linkType: hard
"@jridgewell/set-array@npm:^1.0.0":
version: 1.1.1
resolution: "@jridgewell/set-array@npm:1.1.1"
checksum: cc5d91e0381c347e3edee4ca90b3c292df9e6e55f29acbe0dd97de8651b4730e9ab761406fd572effa79972a0edc55647b627f8c72315e276d959508853d9bf2
languageName: node
linkType: hard
"@jridgewell/sourcemap-codec@npm:^1.4.10":
version: 1.4.13
resolution: "@jridgewell/sourcemap-codec@npm:1.4.13"
checksum: f14449096f60a5f921262322fef65ce0bbbfb778080b3b20212080bcefdeba621c43a58c27065bd536ecb4cc767b18eb9c45f15b6b98a4970139572b60603a1c
languageName: node
linkType: hard
"@jridgewell/trace-mapping@npm:^0.3.9":
version: 0.3.13
resolution: "@jridgewell/trace-mapping@npm:0.3.13"
dependencies:
"@jridgewell/resolve-uri": ^3.0.3
"@jridgewell/sourcemap-codec": ^1.4.10
checksum: e38254e830472248ca10a6ed1ae75af5e8514f0680245a5e7b53bc3c030fd8691d4d3115d80595b45d3badead68269769ed47ecbbdd67db1343a11f05700e75a
languageName: node
linkType: hard
"@juggle/resize-observer@npm:^3.3.1":
version: 3.3.1
resolution: "@juggle/resize-observer@npm:3.3.1"
@ -2096,18 +2220,22 @@ __metadata:
languageName: node
linkType: hard
"@revoltchat/ui@npm:^1.0.31":
version: 1.0.31
resolution: "@revoltchat/ui@npm:1.0.31"
"@revoltchat/ui@npm:1.0.33":
version: 1.0.33
resolution: "@revoltchat/ui@npm:1.0.33"
dependencies:
"@styled-icons/boxicons-logos": ^10.38.0
"@styled-icons/boxicons-regular": ^10.38.0
"@styled-icons/boxicons-solid": ^10.38.0
mobx: ^6.5.0
mobx-react-lite: ^3.3.0
peerDependencies:
revolt-api: "*"
checksum: 8f93757d131ae7d784e744b774f6f6b9bea4e09a3fb48762334caf23e4ab08db209649eba1435f9fa82bdf7bfbfb78100fef6d13e7e0f715d0e2c82c52abf74d
"@tippyjs/react": "*"
mobx: "*"
mobx-react-lite: "*"
react-beautiful-dnd: "*"
react-device-detect: "*"
react-virtuoso: "*"
revolt.js: "*"
checksum: 503fbf8557d205be153343776b8803335b6444b8767e0b1fccf6a34470e4cb333118f7cb614bf16e20d22cb811e7e1160622b9557b73414ad554f8b4bbfb565b
languageName: node
linkType: hard
@ -2256,15 +2384,15 @@ __metadata:
languageName: node
linkType: hard
"@tippyjs/react@npm:^4.2.5":
version: 4.2.5
resolution: "@tippyjs/react@npm:4.2.5"
"@tippyjs/react@npm:4.2.6":
version: 4.2.6
resolution: "@tippyjs/react@npm:4.2.6"
dependencies:
tippy.js: ^6.3.1
peerDependencies:
react: ">=16.8"
react-dom: ">=16.8"
checksum: 68a6bb8922597df105f601953f14c593a8179328026dc425db0cd5d8521cdd8ad8c6ec7b6d0707708c8ed25e5ad01c488e95a6b3de0b2f404bd71137e2b8fce9
checksum: 8f0fba591c9dae2e1af1ae632bbc775ba5c9dd4498e50e242be70302b4c27115c6740eec44e885e294b27cb28515777b52af5b34aac9d4bab627d948add938ae
languageName: node
linkType: hard
@ -2310,15 +2438,15 @@ __metadata:
linkType: hard
"@types/babel__core@npm:^7.1.12":
version: 7.1.18
resolution: "@types/babel__core@npm:7.1.18"
version: 7.1.19
resolution: "@types/babel__core@npm:7.1.19"
dependencies:
"@babel/parser": ^7.1.0
"@babel/types": ^7.0.0
"@types/babel__generator": "*"
"@types/babel__template": "*"
"@types/babel__traverse": "*"
checksum: 2e5b5d7c84f347d3789575486e58b0df5c91613abc3d27e716274aba3048518e07e1f068250ba829e2ed58532ccc88da595ce95ba2688e7bbcd7c25a3c6627ed
checksum: 8c9fa87a1c2224cbec251683a58bebb0d74c497118034166aaa0491a4e2627998a6621fc71f8a60ffd27d9c0c52097defedf7637adc6618d0331c15adb302338
languageName: node
linkType: hard
@ -2342,11 +2470,11 @@ __metadata:
linkType: hard
"@types/babel__traverse@npm:*":
version: 7.14.2
resolution: "@types/babel__traverse@npm:7.14.2"
version: 7.17.1
resolution: "@types/babel__traverse@npm:7.17.1"
dependencies:
"@babel/types": ^7.3.0
checksum: a797ea09c72307569e3ee08aa3900ca744ce3091114084f2dc59b67a45ee7d01df7865252790dbfa787a7915ce892cdc820c9b920f3683292765fc656b08dc63
checksum: 8992d8c1eaaf1c793e9184b930767883446939d2744c40ea4e9591086e79b631189dc519931ed8864f1e016742a189703c217db59b800aca84870b865009d8b4
languageName: node
linkType: hard
@ -2505,7 +2633,7 @@ __metadata:
languageName: node
linkType: hard
"@types/react-beautiful-dnd@npm:^13.1.2":
"@types/react-beautiful-dnd@npm:^13":
version: 13.1.2
resolution: "@types/react-beautiful-dnd@npm:13.1.2"
dependencies:
@ -2523,15 +2651,15 @@ __metadata:
languageName: node
linkType: hard
"@types/react-redux@npm:^7.1.16":
version: 7.1.18
resolution: "@types/react-redux@npm:7.1.18"
"@types/react-redux@npm:^7.1.20":
version: 7.1.24
resolution: "@types/react-redux@npm:7.1.24"
dependencies:
"@types/hoist-non-react-statics": ^3.3.0
"@types/react": "*"
hoist-non-react-statics: ^3.3.0
redux: ^4.0.0
checksum: 8aa24c15df711e2a20f903843f42491316094c3a49a90dcae86dcafa8fdb2318fdfaa983e23d67840986f11131b9b8856a5d6971288d68fa8aa592adc348a942
checksum: 6582246581331ac7fbbd44aa1f1c136c8a9c8febbcf462432ac81302263308c21e1a2e7868beb7f73bbcb52a8e67935d133cb37f5bdcb6564eaff3a811805101
languageName: node
linkType: hard
@ -2748,21 +2876,21 @@ __metadata:
languageName: node
linkType: hard
"@virtuoso.dev/react-urx@npm:^0.2.5":
version: 0.2.6
resolution: "@virtuoso.dev/react-urx@npm:0.2.6"
"@virtuoso.dev/react-urx@npm:^0.2.12":
version: 0.2.13
resolution: "@virtuoso.dev/react-urx@npm:0.2.13"
dependencies:
"@virtuoso.dev/urx": ^0.2.6
"@virtuoso.dev/urx": ^0.2.13
peerDependencies:
react: ">=16"
checksum: 877760d0f4e56e4514a1f4f2e0160a99834b06b3c24bab32e569cadd06a3cb18e651bb60824a105d0abf4cc943630c2f68d0f461931b89f9e5f3ffff497f5c2b
checksum: 173e91c21f6a8cd506ad3b72af10656897fe1951124ed9eeb1fd85575534993bea2f97cba3f81c08ae1e88a2613df348e2c80d0ceecb3021f8c8c8fe0e053ee2
languageName: node
linkType: hard
"@virtuoso.dev/urx@npm:^0.2.5, @virtuoso.dev/urx@npm:^0.2.6":
version: 0.2.6
resolution: "@virtuoso.dev/urx@npm:0.2.6"
checksum: d1942a81a828e250030a1a3dbf66545b1539c29c62d519b1bcaa1a45badf4e1baaa9efecf13238ca6c45555673fe5e12f3aba7d1c4fa2d7ab3e0a9a1504cf153
"@virtuoso.dev/urx@npm:^0.2.12, @virtuoso.dev/urx@npm:^0.2.13":
version: 0.2.13
resolution: "@virtuoso.dev/urx@npm:0.2.13"
checksum: 682a99cf40ccc429241268dd37495cd1ed4695ae58b5a1169c75df1630d5dc3fd8eb3aaa655f71c37f39ba9c23c0aaf4401b76d8a986986d1a38a422d596a6ba
languageName: node
linkType: hard
@ -3204,18 +3332,18 @@ __metadata:
languageName: node
linkType: hard
"browserslist@npm:^4.17.5":
version: 4.19.1
resolution: "browserslist@npm:4.19.1"
"browserslist@npm:^4.20.2":
version: 4.20.3
resolution: "browserslist@npm:4.20.3"
dependencies:
caniuse-lite: ^1.0.30001286
electron-to-chromium: ^1.4.17
caniuse-lite: ^1.0.30001332
electron-to-chromium: ^1.4.118
escalade: ^3.1.1
node-releases: ^2.0.1
node-releases: ^2.0.3
picocolors: ^1.0.0
bin:
browserslist: cli.js
checksum: c0777fd483691638fd6801e16c9d809e1d65f6d2b06db2e806654be51045cbab1452a89841a2c5caea2cbe19d621b4f1d391cffbb24512aa33280039ab345875
checksum: 1e4b719ac2ca0fe235218a606e8b8ef16b8809e0973b924158c39fbc435a0b0fe43437ea52dd6ef5ad2efcb83fcb07431244e472270177814217f7c563651f7d
languageName: node
linkType: hard
@ -3283,13 +3411,20 @@ __metadata:
languageName: node
linkType: hard
"caniuse-lite@npm:^1.0.30001251, caniuse-lite@npm:^1.0.30001286":
"caniuse-lite@npm:^1.0.30001251":
version: 1.0.30001313
resolution: "caniuse-lite@npm:1.0.30001313"
checksum: 49f2dcd1fa493a09a5247dcf3a4da3b9df355131b1fc1fd08b67ae7683c300ed9b9eef6a5424b4ac7e5d1ff0e129d2a0b4adf2a6a5a04ab5c2c0b2c590e935be
languageName: node
linkType: hard
"caniuse-lite@npm:^1.0.30001332":
version: 1.0.30001344
resolution: "caniuse-lite@npm:1.0.30001344"
checksum: 9dba66f796dc98632dced4c5d487d0fad219e137a27c634eec68520f2e598a613e3371b9207e15a078689a629128eca898793e37fc98841821ab481bddad51b9
languageName: node
linkType: hard
"chalk@npm:^2.0.0, chalk@npm:^2.4.2":
version: 2.4.2
resolution: "chalk@npm:2.4.2"
@ -3364,7 +3499,7 @@ __metadata:
dependencies:
"@babel/plugin-proposal-decorators": ^7.17.9
"@fontsource/atkinson-hyperlegible": ^4.4.5
"@fontsource/bitter": ^4.5.0
"@fontsource/bitter": ^4.5.7
"@fontsource/comic-neue": ^4.4.5
"@fontsource/fira-code": ^4.4.5
"@fontsource/inter": ^4.4.5
@ -3386,13 +3521,13 @@ __metadata:
"@hcaptcha/react-hcaptcha": ^0.3.6
"@insertish/vite-plugin-babel-macros": ^1.0.5
"@preact/preset-vite": ^2.0.0
"@revoltchat/ui": ^1.0.31
"@revoltchat/ui": 1.0.33
"@rollup/plugin-replace": ^2.4.2
"@styled-icons/boxicons-logos": ^10.38.0
"@styled-icons/boxicons-regular": ^10.38.0
"@styled-icons/boxicons-solid": ^10.38.0
"@styled-icons/simple-icons": ^10.33.0
"@tippyjs/react": ^4.2.5
"@tippyjs/react": 4.2.6
"@traptitech/markdown-it-katex": ^3.4.3
"@traptitech/markdown-it-spoiler": ^1.1.6
"@trivago/prettier-plugin-sort-imports": ^2.0.2
@ -3402,7 +3537,7 @@ __metadata:
"@types/node": ^15.12.4
"@types/preact-i18n": ^2.3.0
"@types/prismjs": ^1.16.5
"@types/react-beautiful-dnd": ^13.1.2
"@types/react-beautiful-dnd": ^13
"@types/react-helmet": ^6.1.1
"@types/react-router-dom": ^5.1.7
"@types/react-scroll": ^1.8.2
@ -3429,21 +3564,21 @@ __metadata:
markdown-it-emoji: ^2.0.0
mediasoup-client: "npm:@insertish/mediasoup-client@3.6.36-esnext"
mobx: ^6.6.0
mobx-react-lite: ^3.3.0
mobx-react-lite: 3.4.0
preact: ^10.5.14
preact-context-menu: 0.4.0-patch.0
preact-i18n: ^2.4.0-preactx
prettier: ^2.3.1
prismjs: ^1.23.0
react-beautiful-dnd: ^13.1.0
react-device-detect: ^1.17.0
react-device-detect: 2.2.2
react-helmet: ^6.1.0
react-hook-form: 6.3.0
react-overlapping-panels: 1.2.2
react-router-dom: ^5.2.0
react-scroll: ^1.8.2
react-virtuoso: ^1.10.4
revolt.js: 6.0.0-2
react-virtuoso: ^2.12.0
revolt.js: 6.0.1
rimraf: ^3.0.2
sass: ^1.35.1
shade-blend-color: ^1.0.0
@ -3812,10 +3947,10 @@ __metadata:
languageName: node
linkType: hard
"electron-to-chromium@npm:^1.4.17":
version: 1.4.45
resolution: "electron-to-chromium@npm:1.4.45"
checksum: 8afc465bfe4873701c748626bcd3081976526b3cd9cf4b098b0a1ad90bd2be5f4933ddf1e061cc140d2793146f0901f2b96996aaecd726d0abdebcaf5d3bdbaa
"electron-to-chromium@npm:^1.4.118":
version: 1.4.140
resolution: "electron-to-chromium@npm:1.4.140"
checksum: bf06151bdd76dbcf00c97215d0c79479a4d2116e4a1734ee319cf83865ceab56ee834b3f4347bf9c01ae5c0a953fb0b93e2f097c3ed33f6292d03bcb40af651d
languageName: node
linkType: hard
@ -5357,6 +5492,15 @@ __metadata:
languageName: node
linkType: hard
"json5@npm:^2.2.1":
version: 2.2.1
resolution: "json5@npm:2.2.1"
bin:
json5: lib/cli.js
checksum: 74b8a23b102a6f2bf2d224797ae553a75488b5adbaee9c9b6e5ab8b510a2fc6e38f876d4c77dea672d4014a44b2399e15f2051ac2b37b87f74c0c7602003543b
languageName: node
linkType: hard
"jsonfile@npm:^6.0.1":
version: 6.1.0
resolution: "jsonfile@npm:6.1.0"
@ -5845,18 +5989,18 @@ __metadata:
languageName: node
linkType: hard
"mobx-react-lite@npm:^3.3.0":
version: 3.3.0
resolution: "mobx-react-lite@npm:3.3.0"
"mobx-react-lite@npm:3.4.0":
version: 3.4.0
resolution: "mobx-react-lite@npm:3.4.0"
peerDependencies:
mobx: ^6.1.0
react: ^16.8.0 || ^17
react: ^16.8.0 || ^17 || ^18
peerDependenciesMeta:
react-dom:
optional: true
react-native:
optional: true
checksum: 0f55bd2009a9cedc6b81d70b88b57dc4161362a16ba6ae0af341e673ca1c627bc3c4088c0cb13133e57e6fa6748b09b4c26aff7fab26c60ed95d27e939846fa3
checksum: 9294e127e281c8b37ec7bcaf17de479f50519e6ad485b58d7b991291900511541a5a718653759d3cf6503462c70325d025e1c2ed376d4584fb1b2d3aac9d9b48
languageName: node
linkType: hard
@ -5867,7 +6011,7 @@ __metadata:
languageName: node
linkType: hard
"mobx@npm:^6.5.0, mobx@npm:^6.6.0":
"mobx@npm:^6.6.0":
version: 6.6.0
resolution: "mobx@npm:6.6.0"
checksum: 369b8d6830ec286e9c856c80002c7a554d46bca739b7f76432cb56b3ce1fe0a7ed7e5a994b9793d30023beeff0dd16300a501e831fa97107104e4fedc7d4af8f
@ -5945,10 +6089,10 @@ __metadata:
languageName: node
linkType: hard
"node-releases@npm:^2.0.1":
version: 2.0.1
resolution: "node-releases@npm:2.0.1"
checksum: b20dd8d4bced11f75060f0387e05e76b9dc4a0451f7bb3516eade6f50499ea7768ba95d8a60d520c193402df1e58cb3fe301510cc1c1ad68949c3d57b5149866
"node-releases@npm:^2.0.3":
version: 2.0.5
resolution: "node-releases@npm:2.0.5"
checksum: e85d949addd19f8827f32569d2be5751e7812ccf6cc47879d49f79b5234ff4982225e39a3929315f96370823b070640fb04d79fc0ddec8b515a969a03493a42f
languageName: node
linkType: hard
@ -6371,15 +6515,15 @@ __metadata:
languageName: node
linkType: hard
"react-device-detect@npm:^1.17.0":
version: 1.17.0
resolution: "react-device-detect@npm:1.17.0"
"react-device-detect@npm:2.2.2":
version: 2.2.2
resolution: "react-device-detect@npm:2.2.2"
dependencies:
ua-parser-js: ^0.7.24
ua-parser-js: ^1.0.2
peerDependencies:
react: ">= 0.14.0 < 18.0.0"
react-dom: ">= 0.14.0 < 18.0.0"
checksum: bd3583e392af0e807f5329c0763d4f4f15d211363c3cfbb5308221a874faf68a7d7ac339f3c0a4d0c5878e04eaf859e9a7405f2a8ee4a57e739ac7762c1907a1
react: ">= 0.14.0"
react-dom: ">= 0.14.0"
checksum: d9245cf5a1c1e565e88523ed6be580497d1f6a972fb100a81092943bb7e44afdcdbae0d67bebe7424c4ba5b27a5d13df7894d122307f070fc26062704f7ec788
languageName: node
linkType: hard
@ -6413,13 +6557,20 @@ __metadata:
languageName: node
linkType: hard
"react-is@npm:^16.13.1, react-is@npm:^16.6.0, react-is@npm:^16.7.0, react-is@npm:^16.8.1":
"react-is@npm:^16.6.0, react-is@npm:^16.7.0, react-is@npm:^16.8.1":
version: 16.13.1
resolution: "react-is@npm:16.13.1"
checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f
languageName: node
linkType: hard
"react-is@npm:^17.0.2":
version: 17.0.2
resolution: "react-is@npm:17.0.2"
checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8
languageName: node
linkType: hard
"react-overlapping-panels@npm:1.2.2":
version: 1.2.2
resolution: "react-overlapping-panels@npm:1.2.2"
@ -6430,23 +6581,23 @@ __metadata:
linkType: hard
"react-redux@npm:^7.2.0":
version: 7.2.5
resolution: "react-redux@npm:7.2.5"
version: 7.2.8
resolution: "react-redux@npm:7.2.8"
dependencies:
"@babel/runtime": ^7.12.1
"@types/react-redux": ^7.1.16
"@babel/runtime": ^7.15.4
"@types/react-redux": ^7.1.20
hoist-non-react-statics: ^3.3.2
loose-envify: ^1.4.0
prop-types: ^15.7.2
react-is: ^16.13.1
react-is: ^17.0.2
peerDependencies:
react: ^16.8.3 || ^17
react: ^16.8.3 || ^17 || ^18
peerDependenciesMeta:
react-dom:
optional: true
react-native:
optional: true
checksum: 04ac4a4178067cbcfc05506dfea9f7e01730093a5752f050567f7ae4a38c03c96da9d8fed051f8ab1ecede5ea8a15ee41c5f6c5eeb7f04f37e4d13e431ec7830
checksum: ecf1933e91013f2d41bfc781515b536bf81eb1f70ff228607841094c8330fe77d522372b359687e51c0b52b9888dba73db9ac0486aace1896ab9eb9daec102d5
languageName: node
linkType: hard
@ -6509,16 +6660,16 @@ __metadata:
languageName: node
linkType: hard
"react-virtuoso@npm:^1.10.4":
version: 1.11.0
resolution: "react-virtuoso@npm:1.11.0"
"react-virtuoso@npm:^2.12.0":
version: 2.12.0
resolution: "react-virtuoso@npm:2.12.0"
dependencies:
"@virtuoso.dev/react-urx": ^0.2.5
"@virtuoso.dev/urx": ^0.2.5
resize-observer-polyfill: ^1.5.1
"@virtuoso.dev/react-urx": ^0.2.12
"@virtuoso.dev/urx": ^0.2.12
peerDependencies:
react: ">=16"
checksum: bd0ba533a0a8a318d1fe5bd082a32ffcf1447a22dc8c9affa0d77c4ac9d7e8874ea806387e135788632dc27e189b7c0c26e78994d21c5db6015d563247ed2655
react: ">=16 || >=17 || >= 18"
react-dom: ">=16 || >=17 || >= 18"
checksum: b40309cb6d5175bcfa8a6c648af35f14e051b31e2cb811298cbc5c37dd5179f0a307c20fa9e7232b4179d1ff3fd31599c747249899d1da5d11afd8ee659d7368
languageName: node
linkType: hard
@ -6543,11 +6694,11 @@ __metadata:
linkType: hard
"redux@npm:^4.0.0, redux@npm:^4.0.4":
version: 4.1.1
resolution: "redux@npm:4.1.1"
version: 4.2.0
resolution: "redux@npm:4.2.0"
dependencies:
"@babel/runtime": ^7.9.2
checksum: 99519438a5d20b69404ad3816307ccc189f16df04b64c50d82c415ec488ea68b656d7a2fc81b6345e8d90f095344dfea68246500f72613d76464986660bc0485
checksum: 75f3955c89b3f18edf5411e5fb482aa2e4f41a416183e8802a6bf6472c4fc3d47675b8b321d147f8af8e0f616436ac507bf5a25f1c4d6180e797b549c7db2c1d
languageName: node
linkType: hard
@ -6639,13 +6790,6 @@ __metadata:
languageName: node
linkType: hard
"resize-observer-polyfill@npm:^1.5.1":
version: 1.5.1
resolution: "resize-observer-polyfill@npm:1.5.1"
checksum: 57e7f79489867b00ba43c9c051524a5c8f162a61d5547e99333549afc23e15c44fd43f2f318ea0261ea98c0eb3158cca261e6f48d66e1ed1cd1f340a43977094
languageName: node
linkType: hard
"resolve-from@npm:^4.0.0":
version: 4.0.0
resolution: "resolve-from@npm:4.0.0"
@ -6714,20 +6858,20 @@ __metadata:
languageName: node
linkType: hard
"revolt-api@npm:0.5.3-5-patch.3":
version: 0.5.3-5-patch.3
resolution: "revolt-api@npm:0.5.3-5-patch.3"
"revolt-api@npm:0.5.3-5-patch.4":
version: 0.5.3-5-patch.4
resolution: "revolt-api@npm:0.5.3-5-patch.4"
dependencies:
"@insertish/oapi": 0.1.15
"@insertish/oapi": 0.1.16
axios: ^0.26.1
lodash.defaultsdeep: ^4.6.1
checksum: 802d24359e64142317b16eaa40553f872f6ba4876e065704c7d7fb201f993b924076a770f74a49d95a4a494672bc4ab91284868d479c984b03688437749d4979
checksum: 4f01c43bff96c4030d13ab0bb5dc83614445763602cfdd8b3ff1dbf61620446a22513ca259bbfc9c490f6b9b19c79d610921a252b667d25adf4040b4222d98cf
languageName: node
linkType: hard
"revolt.js@npm:6.0.0-2":
version: 6.0.0-2
resolution: "revolt.js@npm:6.0.0-2"
"revolt.js@npm:6.0.1":
version: 6.0.1
resolution: "revolt.js@npm:6.0.1"
dependencies:
"@insertish/exponential-backoff": 3.1.0-patch.2
"@insertish/isomorphic-ws": ^4.0.1
@ -6738,10 +6882,10 @@ __metadata:
lodash.isequal: ^4.5.0
long: ^5.2.0
mobx: ^6.3.2
revolt-api: 0.5.3-5-patch.3
revolt-api: 0.5.3-5-patch.4
ulid: ^2.3.0
ws: ^8.2.2
checksum: 4ca0991f33bc0fc610ff551dc10ba0eb785694dfe4c0fde82d63c99d1b89c1083a3d9e5c3ad28f165a5bc633b8ec4b5ecd432932a1df13fd44afaf52df8af325
checksum: 8e94d709119e3636de8dd71ffe60f0752047b33e5548235f93f36003a102b18705dbb2cb4a273de2ab49d6f594ec34b7a3c6b78e0e48f66c945e8b27573343cf
languageName: node
linkType: hard
@ -7426,13 +7570,20 @@ __metadata:
languageName: node
linkType: hard
"tiny-invariant@npm:^1.0.2, tiny-invariant@npm:^1.0.6":
"tiny-invariant@npm:^1.0.2":
version: 1.1.0
resolution: "tiny-invariant@npm:1.1.0"
checksum: 27d29bbb9e1d1d86e25766711c28ad91af6d67c87d561167077ac7fbce5212b97bbfe875e70bc369808e075748c825864c9b61f0e9f8652275ec86bcf4dcc924
languageName: node
linkType: hard
"tiny-invariant@npm:^1.0.6":
version: 1.2.0
resolution: "tiny-invariant@npm:1.2.0"
checksum: e09a718a7c4a499ba592cdac61f015d87427a0867ca07f50c11fd9b623f90cdba18937b515d4a5e4f43dac92370498d7bdaee0d0e7a377a61095e02c4a92eade
languageName: node
linkType: hard
"tiny-warning@npm:^1.0.0, tiny-warning@npm:^1.0.3":
version: 1.0.3
resolution: "tiny-warning@npm:1.0.3"
@ -7496,9 +7647,9 @@ __metadata:
linkType: hard
"tslib@npm:^2.1.0":
version: 2.3.1
resolution: "tslib@npm:2.3.1"
checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9
version: 2.4.0
resolution: "tslib@npm:2.4.0"
checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113
languageName: node
linkType: hard
@ -7576,10 +7727,10 @@ __metadata:
languageName: node
linkType: hard
"ua-parser-js@npm:^0.7.24":
version: 0.7.28
resolution: "ua-parser-js@npm:0.7.28"
checksum: a7da4ad54527211e878ee016c2ef64efad5c2f5a31277d36c9da93b4c89ecaa64f391ad4cf158ada76a9ad8e53004a950705ff1c2f27a52ca8bfb3f1381c39ff
"ua-parser-js@npm:^1.0.2":
version: 1.0.2
resolution: "ua-parser-js@npm:1.0.2"
checksum: ff7f6d79a9c1a38aa85a0e751040fc7e17a0b621bda876838d14ebe55aca4e50e68da0350f181e58801c2d8a35e7db4e12473776e558910c4b7cabcec96aa3bf
languageName: node
linkType: hard