diff --git a/android/app/src/main/assets/public/main.js b/android/app/src/main/assets/public/main.js index 868fe841..4bcaa9e1 100644 --- a/android/app/src/main/assets/public/main.js +++ b/android/app/src/main/assets/public/main.js @@ -1697,7 +1697,7 @@ document.addEventListener('touchstart', e => { touchStartY = e.changedTouches[0].screenY; touchMoved = false; - activeTouchButton = e.target.closest('button, input'); + activeTouchButton = e.target.closest('button, input, textarea'); if (activeTouchButton) { activeTouchButton.classList.add('is-pressed'); } @@ -1728,8 +1728,8 @@ document.addEventListener('touchend', e => { activeTouchButton.classList.remove('is-pressed'); if (!touchMoved) { - if (activeTouchButton.tagName !== 'INPUT') { - if (document.activeElement && document.activeElement.tagName === 'INPUT') { + if (activeTouchButton.tagName !== 'INPUT' && activeTouchButton.tagName !== 'TEXTAREA') { + if (document.activeElement && document.activeElement.tagName === 'INPUT' && document.activeElement.tagName === 'TEXTAREA') { document.activeElement.blur(); } @@ -1836,6 +1836,8 @@ async function renderDms(res) { var currentDmId = null; var currentDmKey = null; // AES key for encrypting/decrypting messages +var dmUsernameCache = {}; +var dmPfpCache = {}; async function openDm(dmId, username, targetId) { try { @@ -1939,10 +1941,16 @@ async function renderMessages(messages) { let authorName = "Unknown"; let pfp = "assets/default_avatar.png"; if (msg.author !== "0") { - let fullUsername = await fetchAsync(`${url}/idtoname?id=${msg.author}`); - if (fullUsername && !fullUsername.startsWith("error:")) { - authorName = fullUsername.split(':')[0]; - pfp = await getAvatarUrl(msg.author, fullUsername); + if (!dmUsernameCache[msg.author]) { + let fullUsername = await fetchAsync(`${url}/idtoname?id=${msg.author}`); + if (fullUsername && !fullUsername.startsWith("error:")) { + dmUsernameCache[msg.author] = fullUsername; + dmPfpCache[msg.author] = await getAvatarUrl(msg.author, fullUsername); + } + } + if (dmUsernameCache[msg.author]) { + authorName = dmUsernameCache[msg.author].split(':')[0]; + pfp = dmPfpCache[msg.author]; } } @@ -1953,7 +1961,7 @@ async function renderMessages(messages) { html += `