Bug fixed

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-11-14 11:31:22 +05:30
parent 14cd84dab7
commit 1137c11c59
6 changed files with 13 additions and 30 deletions

View file

@ -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>

View file

@ -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]);
} }

View file

@ -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);

View file

@ -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();

View file

@ -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;

View file

@ -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,
}; };