Fix: Cannot read properties of undefined (reading 'getProfilePicFull') (#1362)

* Fix for issue#1356 - Cannot read properties of undefined reading getProfilePicFull

* use cross-compatible profilePicFind function

Co-authored-by: Joaquin Touris <joaquin@192.168.1.6>
Co-authored-by: Pedro Lopez <pedroslopez@me.com>
This commit is contained in:
༺ LᴇG̸ᴇɴD ༻
2022-03-29 00:17:55 -03:00
committed by GitHub
parent a23c285f3c
commit e9104b390d
3 changed files with 8 additions and 12 deletions

View File

@@ -877,19 +877,15 @@ class Client extends EventEmitter {
*/
async getProfilePicUrl(contactId) {
const profilePic = await this.pupPage.evaluate(async contactId => {
let asyncPic;
if (window.Store.Features.features.MD_BACKEND) {
try {
const chatWid = window.Store.WidFactory.createWid(contactId);
asyncPic = await window.Store.getProfilePicFull(chatWid).catch(() => {
return undefined;
});
} else {
asyncPic = await window.Store.Wap.profilePicFind(contactId).catch(() => {
return undefined;
});
return await window.Store.ProfilePic.profilePicFind(chatWid);
} catch (err) {
if(err.name === 'ServerStatusCodeError') return undefined;
throw err;
}
return asyncPic;
}, contactId);
return profilePic ? profilePic.eurl : undefined;
}

View File

@@ -40,7 +40,7 @@ exports.ExposeStore = (moduleRaidStr) => {
window.Store.VCard = window.mR.findModule('vcardFromContactModel')[0];
window.Store.Wap = window.mR.findModule('queryLinkPreview')[0].default;
window.Store.WidFactory = window.mR.findModule('createWid')[0];
window.Store.getProfilePicFull = window.mR.findModule('getProfilePicFull')[0].getProfilePicFull;
window.Store.ProfilePic = window.mR.findModule('profilePicResync')[0];
window.Store.PresenceUtils = window.mR.findModule('sendPresenceAvailable')[0];
window.Store.ChatState = window.mR.findModule('sendChatStateComposing')[0];
window.Store.GroupParticipants = window.mR.findModule('sendPromoteParticipants')[0];

View File

@@ -279,7 +279,7 @@ describe('Client', function() {
'Wap',
'WidFactory',
'findCommonGroups',
'getProfilePicFull',
'ProfilePic',
];
const loadedModules = await client.pupPage.evaluate((expectedModules) => {