Bug fixed
Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
parent
14cd84dab7
commit
1137c11c59
6 changed files with 13 additions and 30 deletions
|
@ -57,7 +57,7 @@ To set default Homeserver on login and register page, place a customized [`confi
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Copyright (c) 2021 Ajay Bura (ajbura) and other contributors
|
Copyright (c) 2021 Ajay Bura (ajbura) and contributors
|
||||||
|
|
||||||
Code licensed under the MIT License: <http://opensource.org/licenses/MIT>
|
Code licensed under the MIT License: <http://opensource.org/licenses/MIT>
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ import dateFormat from 'dateformat';
|
||||||
import initMatrix from '../../../client/initMatrix';
|
import initMatrix from '../../../client/initMatrix';
|
||||||
import cons from '../../../client/state/cons';
|
import cons from '../../../client/state/cons';
|
||||||
import { redactEvent, sendReaction } from '../../../client/action/roomTimeline';
|
import { redactEvent, sendReaction } from '../../../client/action/roomTimeline';
|
||||||
import { getUsername, getUsernameOfRoomMember, doesRoomHaveUnread } from '../../../util/matrixUtil';
|
import { getUsername, getUsernameOfRoomMember } from '../../../util/matrixUtil';
|
||||||
import colorMXID from '../../../util/colorMXID';
|
import colorMXID from '../../../util/colorMXID';
|
||||||
import { diffMinutes, isNotInSameDay, getEventCords } from '../../../util/common';
|
import { diffMinutes, isNotInSameDay, getEventCords } from '../../../util/common';
|
||||||
import { openEmojiBoard, openProfileViewer, openReadReceipts } from '../../../client/action/navigation';
|
import { openEmojiBoard, openProfileViewer, openReadReceipts } from '../../../client/action/navigation';
|
||||||
|
@ -191,6 +191,7 @@ function RoomViewContent({
|
||||||
const [onPagination, setOnPagination] = useState(null);
|
const [onPagination, setOnPagination] = useState(null);
|
||||||
const [editEvent, setEditEvent] = useState(null);
|
const [editEvent, setEditEvent] = useState(null);
|
||||||
const mx = initMatrix.matrixClient;
|
const mx = initMatrix.matrixClient;
|
||||||
|
const noti = initMatrix.notifications;
|
||||||
|
|
||||||
function autoLoadTimeline() {
|
function autoLoadTimeline() {
|
||||||
if (timelineScroll.isScrollable() === true) return;
|
if (timelineScroll.isScrollable() === true) return;
|
||||||
|
@ -199,7 +200,7 @@ function RoomViewContent({
|
||||||
function trySendingReadReceipt() {
|
function trySendingReadReceipt() {
|
||||||
const { room, timeline } = roomTimeline;
|
const { room, timeline } = roomTimeline;
|
||||||
if (
|
if (
|
||||||
(doesRoomHaveUnread(room) || initMatrix.notifications.hasNoti(roomId))
|
(noti.doesRoomHaveUnread(room) || noti.hasNoti(roomId))
|
||||||
&& timeline.length !== 0) {
|
&& timeline.length !== 0) {
|
||||||
mx.sendReadReceipt(timeline[timeline.length - 1]);
|
mx.sendReadReceipt(timeline[timeline.length - 1]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -333,7 +333,7 @@ function Register({ registerInfo, loginFlow, baseUrl }) {
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
const msg = err.message || err.error;
|
const msg = err.message || err.error;
|
||||||
if (['M_USER_IN_USE', 'M_INVALID_USERNAME', 'M_EXCLUSIVE'].indexOf(err.errcode) > -1) {
|
if (['M_USER_IN_USE', 'M_INVALID_USERNAME', 'M_EXCLUSIVE'].indexOf(err.errcode) > -1) {
|
||||||
actions.setErrors({ username: err.errCode === 'M_USER_IN_USE' ? 'Username is already taken' : msg });
|
actions.setErrors({ username: err.errcode === 'M_USER_IN_USE' ? 'Username is already taken' : msg });
|
||||||
} else if (msg) actions.setErrors({ other: msg });
|
} else if (msg) actions.setErrors({ other: msg });
|
||||||
|
|
||||||
actions.setSubmitting(false);
|
actions.setSubmitting(false);
|
||||||
|
|
|
@ -31,6 +31,7 @@ class InitMatrix extends EventEmitter {
|
||||||
sessionStore: new sdk.WebStorageSessionStore(global.localStorage),
|
sessionStore: new sdk.WebStorageSessionStore(global.localStorage),
|
||||||
cryptoStore: new sdk.IndexedDBCryptoStore(global.indexedDB, 'crypto-store'),
|
cryptoStore: new sdk.IndexedDBCryptoStore(global.indexedDB, 'crypto-store'),
|
||||||
deviceId: secret.deviceId,
|
deviceId: secret.deviceId,
|
||||||
|
timelineSupport: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
await this.matrixClient.initCrypto();
|
await this.matrixClient.initCrypto();
|
||||||
|
|
|
@ -290,7 +290,12 @@ button {
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button;
|
||||||
}
|
}
|
||||||
textarea, input[type="text"] {
|
textarea,
|
||||||
|
input,
|
||||||
|
input[type=text]
|
||||||
|
input[type=username]
|
||||||
|
input[type=password]
|
||||||
|
input[type=email] {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|
|
@ -48,30 +48,6 @@ async function isRoomAliasAvailable(alias) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function doesRoomHaveUnread(room) {
|
|
||||||
const userId = initMatrix.matrixClient.getUserId();
|
|
||||||
const readUpToId = room.getEventReadUpTo(userId);
|
|
||||||
const supportEvents = ['m.room.message', 'm.room.encrypted', 'm.sticker'];
|
|
||||||
|
|
||||||
if (room.timeline.length
|
|
||||||
&& room.timeline[room.timeline.length - 1].sender
|
|
||||||
&& room.timeline[room.timeline.length - 1].sender.userId === userId
|
|
||||||
&& room.timeline[room.timeline.length - 1].getType() !== 'm.room.member') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let i = room.timeline.length - 1; i >= 0; i -= 1) {
|
|
||||||
const event = room.timeline[i];
|
|
||||||
|
|
||||||
if (event.getId() === readUpToId) return false;
|
|
||||||
|
|
||||||
if (supportEvents.includes(event.getType())) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPowerLabel(powerLevel) {
|
function getPowerLabel(powerLevel) {
|
||||||
if (powerLevel > 9000) return 'Goku';
|
if (powerLevel > 9000) return 'Goku';
|
||||||
if (powerLevel > 100) return 'Founder';
|
if (powerLevel > 100) return 'Founder';
|
||||||
|
@ -82,5 +58,5 @@ function getPowerLabel(powerLevel) {
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getBaseUrl, getUsername, getUsernameOfRoomMember,
|
getBaseUrl, getUsername, getUsernameOfRoomMember,
|
||||||
isRoomAliasAvailable, doesRoomHaveUnread, getPowerLabel,
|
isRoomAliasAvailable, getPowerLabel,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue