forked from github/cinny
Merge remote-tracking branch 'upstream/dev' into feat/element-call
This commit is contained in:
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "cinny",
|
"name": "cinny",
|
||||||
"version": "4.10.2",
|
"version": "4.10.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "cinny",
|
"name": "cinny",
|
||||||
"version": "4.10.2",
|
"version": "4.10.3",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@atlaskit/pragmatic-drag-and-drop": "1.1.6",
|
"@atlaskit/pragmatic-drag-and-drop": "1.1.6",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cinny",
|
"name": "cinny",
|
||||||
"version": "4.10.2",
|
"version": "4.10.3",
|
||||||
"description": "Yet another matrix client",
|
"description": "Yet another matrix client",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -51,8 +51,12 @@ export function BackRouteHandler({ children }: BackRouteHandlerProps) {
|
|||||||
},
|
},
|
||||||
location.pathname
|
location.pathname
|
||||||
);
|
);
|
||||||
if (spaceMatch?.params.spaceIdOrAlias) {
|
const encodedSpaceIdOrAlias = spaceMatch?.params.spaceIdOrAlias;
|
||||||
navigate(getSpacePath(spaceMatch.params.spaceIdOrAlias));
|
const decodedSpaceIdOrAlias =
|
||||||
|
encodedSpaceIdOrAlias && decodeURIComponent(encodedSpaceIdOrAlias);
|
||||||
|
|
||||||
|
if (decodedSpaceIdOrAlias) {
|
||||||
|
navigate(getSpacePath(decodedSpaceIdOrAlias));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export function About({ requestClose }: AboutProps) {
|
|||||||
<Box direction="Column" gap="100">
|
<Box direction="Column" gap="100">
|
||||||
<Box gap="100" alignItems="End">
|
<Box gap="100" alignItems="End">
|
||||||
<Text size="H3">Cinny</Text>
|
<Text size="H3">Cinny</Text>
|
||||||
<Text size="T200">v4.10.2</Text>
|
<Text size="T200">v4.10.3</Text>
|
||||||
</Box>
|
</Box>
|
||||||
<Text>Yet another matrix client.</Text>
|
<Text>Yet another matrix client.</Text>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export function AuthFooter() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
v4.10.2
|
v4.10.3
|
||||||
</Text>
|
</Text>
|
||||||
<Text as="a" size="T300" href="https://twitter.com/cinnyapp" target="_blank" rel="noreferrer">
|
<Text as="a" size="T300" href="https://twitter.com/cinnyapp" target="_blank" rel="noreferrer">
|
||||||
Twitter
|
Twitter
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export function WelcomePage() {
|
|||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer noopener"
|
rel="noreferrer noopener"
|
||||||
>
|
>
|
||||||
v4.10.2
|
v4.10.3
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { MatrixClient, ReceiptType } from 'matrix-js-sdk';
|
import { MatrixClient, ReceiptType } from 'matrix-js-sdk';
|
||||||
|
|
||||||
export async function markAsRead(mx: MatrixClient, roomId: string, privateReceipt?: boolean) {
|
export async function markAsRead(mx: MatrixClient, roomId: string, privateReceipt: boolean) {
|
||||||
const room = mx.getRoom(roomId);
|
const room = mx.getRoom(roomId);
|
||||||
if (!room) return;
|
if (!room) return;
|
||||||
|
|
||||||
@@ -19,15 +19,8 @@ export async function markAsRead(mx: MatrixClient, roomId: string, privateReceip
|
|||||||
const latestEvent = getLatestValidEvent();
|
const latestEvent = getLatestValidEvent();
|
||||||
if (latestEvent === null) return;
|
if (latestEvent === null) return;
|
||||||
|
|
||||||
const latestEventId = latestEvent.getId();
|
await mx.sendReadReceipt(
|
||||||
if (!latestEventId) return;
|
latestEvent,
|
||||||
|
privateReceipt ? ReceiptType.ReadPrivate : ReceiptType.Read
|
||||||
// Set both the read receipt AND the fully_read marker
|
|
||||||
// The fully_read marker is what persists your read position across sessions
|
|
||||||
await mx.setRoomReadMarkers(
|
|
||||||
roomId,
|
|
||||||
latestEventId, // m.fully_read marker
|
|
||||||
latestEvent, // m.read receipt event
|
|
||||||
privateReceipt ? { receiptType: ReceiptType.ReadPrivate } : undefined
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ const transformATag: Transformer = (tagName, attribs) => ({
|
|||||||
tagName,
|
tagName,
|
||||||
attribs: {
|
attribs: {
|
||||||
...attribs,
|
...attribs,
|
||||||
rel: 'noopener',
|
rel: 'noreferrer noopener',
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -112,7 +112,7 @@ const transformImgTag: Transformer = (tagName, attribs) => {
|
|||||||
tagName: 'a',
|
tagName: 'a',
|
||||||
attribs: {
|
attribs: {
|
||||||
href: src,
|
href: src,
|
||||||
rel: 'noopener',
|
rel: 'noreferrer noopener',
|
||||||
target: '_blank',
|
target: '_blank',
|
||||||
},
|
},
|
||||||
text: attribs.alt || src,
|
text: attribs.alt || src,
|
||||||
|
|||||||
@@ -27,10 +27,24 @@ if ('serviceWorker' in navigator) {
|
|||||||
? `${trimTrailingSlash(import.meta.env.BASE_URL)}/sw.js`
|
? `${trimTrailingSlash(import.meta.env.BASE_URL)}/sw.js`
|
||||||
: `/dev-sw.js?dev-sw`;
|
: `/dev-sw.js?dev-sw`;
|
||||||
|
|
||||||
navigator.serviceWorker.register(swUrl).then(() => {
|
const sendSessionToSW = () => {
|
||||||
const session = getFallbackSession();
|
const session = getFallbackSession();
|
||||||
pushSessionToSW(session?.baseUrl, session?.accessToken);
|
pushSessionToSW(session?.baseUrl, session?.accessToken);
|
||||||
|
};
|
||||||
|
|
||||||
|
navigator.serviceWorker.register(swUrl).then(sendSessionToSW);
|
||||||
|
navigator.serviceWorker.ready.then(sendSessionToSW);
|
||||||
|
window.addEventListener('load', sendSessionToSW);
|
||||||
|
|
||||||
|
// When returning from background
|
||||||
|
document.addEventListener('visibilitychange', () => {
|
||||||
|
if (document.visibilityState === 'visible') {
|
||||||
|
sendSessionToSW();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// When restored from bfcache (important on iOS)
|
||||||
|
window.addEventListener('pageshow', sendSessionToSW);
|
||||||
}
|
}
|
||||||
|
|
||||||
const mountApp = () => {
|
const mountApp = () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user