Invision Community 4: SEO, prepare for v5 and dormant account notifications Matt November 11, 2024Nov 11
Posted December 19, 20222 yr Invision Community v4.7.5 A member reported an issue where he can't PM on his mobile device and also can't Quote and Reply on topics. The Quote link/word actually appears and flashes for a second and then disappears. I have been able to reproduce this with the Dev Tools on Chrome by setting a custom User Agent to what is below. Device: Motorola Edge 5G UW (2021) User Agent: Dalvik/2.1.0 (Linux; U; Android 11; motorola edge 5G UW (2021) Build/RRMS31.Q3-23-39-14-1-1) If you need any additional information please let me know. Edited December 19, 20222 yr by Clover13
December 19, 20222 yr Are they utilizing Chrome? If not, please have them switch to chrome as only the default browser on a device is supported and for Android that is Chrome. That user agent is Android's VM so is not telling much on that front.
December 19, 20222 yr Author 1 minute ago, Jim M said: Are they utilizing Chrome? If not, please have them switch to chrome as only the default browser on a device is supported and for Android that is Chrome. That user agent is Android's VM so is not telling much on that front. Yes this was on Chrome. I also reproduced it on Chrome. The problem exists with the default IPS theme and also in Incognito mode.
December 19, 20222 yr I'm working with an emulator service as I don't own an Android device but not able to reproduce in messages or topics so just want to check my basis. Is this something you are able to reproduce with the account on file? If not, could you please let us know the display name of the user in question? Also, what topic or message this is happening in?
December 19, 20222 yr Author Yes, same site on file. I reproduced this on MacOS with Chrome Version 108.0.5359.124 (Official Build) (x86_64) Steps: Right click page (this page even) and select Inspect Click Toggle device toolbar to the left of Elements Click the dropdown for the Dimensions and select Edit Click Add custom device... Device Name: Motorola Edge 5G UW (2021) Dimensions: 400x800 User agent string: Dalvik/2.1.0 (Linux; U; Android 11; motorola edge 5G UW (2021) Build/RRMS31.Q3-23-39-14-1-1) Save and X out of the Edit window Select Motorola Edge 5G UW (2021) in Dimensions dropdown Reload page (important, have to reload the page AFTER the Dimensions option is selected) and you should see the Quote link flash and disappear I actually just did this here on this page and see this behavior. Edited December 19, 20222 yr by Clover13
December 19, 20222 yr 24 minutes ago, Clover13 said: Steps: Right click page (this page even) and select Inspect Click Toggle device toolbar to the left of Elements Click the dropdown for the Dimensions and select Edit Click Add custom device... Device Name: Motorola Edge 5G UW (2021) Dimensions: 400x800 User agent string: Dalvik/2.1.0 (Linux; U; Android 11; motorola edge 5G UW (2021) Build/RRMS31.Q3-23-39-14-1-1) Save and X out of the Edit window Select Motorola Edge 5G UW (2021) in Dimensions dropdown Reload page (important, have to reload the page AFTER the Dimensions option is selected) and you should see the Quote link flash and disappear I actually just did this here on this page and see this behavior. This would be an emulator as well, not the device. Is this what the original user did? Often emulators have issues that real devices do not so I want to make this clear here.
December 19, 20222 yr Author 4 minutes ago, Jim M said: This would be an emulator as well, not the device. Is this what the original user did? Often emulators have issues that real devices do not so I want to make this clear here. The emulator had the exact same behavior as his device, and I don't see it on my own devices. Likewise, he doesn't see it on his other devices, only that particular one. So my thought process is if the emulator has identical behavior, you may be able to identify what is happening or causing it.
December 19, 20222 yr 1 minute ago, Clover13 said: The emulator had the exact same behavior as his device, and I don't see it on my own devices. Likewise, he doesn't see it on his other devices, only that particular one. So my thought process is if the emulator has identical behavior, you may be able to identify what is happening or causing it. If this is limited to only 1 particular real device, I'm afraid, it may be something particular with the device. However, I can have one of my colleagues test who has an Android device.
December 19, 20222 yr Author For example, when trying to create a new PM, the main difference when it doesn't complete the editor load, I see in the Console warnings is the following: jQuery.Deferred exception: Cannot read properties of null (reading 'once') TypeError: Cannot read properties of null (reading 'once') at Object.init (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:306:76) at ckLoaded (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:291:264) at bootEditor (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:291:31) at e (https://{site}/uploads/themes/javascript_global/root_library.js?v=88231759321671381349:1:49296) at t (https://{site}/uploads/themes/javascript_global/root_library.js?v=88231759321671381349:1:49598) undefined 4 minutes ago, Jim M said: If this is limited to only 1 particular real device, I'm afraid, it may be something particular with the device. However, I can have one of my colleagues test who has an Android device. Seems like other Android phones (Pixel 5 for example) don't show this issue, at least not in the emulator.
December 20, 20222 yr 12 hours ago, Clover13 said: For example, when trying to create a new PM, the main difference when it doesn't complete the editor load, I see in the Console warnings is the following: jQuery.Deferred exception: Cannot read properties of null (reading 'once') TypeError: Cannot read properties of null (reading 'once') at Object.init (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:306:76) at ckLoaded (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:291:264) at bootEditor (https://{site}/uploads/themes/javascript_global/root_framework.js?v=88231759321671381349:291:31) at e (https://{site}/uploads/themes/javascript_global/root_library.js?v=88231759321671381349:1:49296) at t (https://{site}/uploads/themes/javascript_global/root_library.js?v=88231759321671381349:1:49598) undefined Seems like other Android phones (Pixel 5 for example) don't show this issue, at least not in the emulator. It does seem to be a bug on that specific device, rather than the software unfortunately. I am unable to replicate any issues at all on my device here, or any other android device I have tested with
December 20, 20222 yr Author 9 hours ago, Marc Stridgen said: It does seem to be a bug on that specific device, rather than the software unfortunately. I am unable to replicate any issues at all on my device here, or any other android device I have tested with Thanks Marc. Not sure what to do here. I have only been able to reproduce this issue on an emulator with that specific user agent, every other Android device operates normally as you have also found.
December 20, 20222 yr Tell them to get a non broken phone? Or have them reach out to their phone manufacturer support team to see if there is a fix available that can be installed. You might have them try a different browser as well.
December 20, 20222 yr Author Just now, Randy Calvert said: Tell them to get a non broken phone? Or have them reach out to their phone manufacturer support team to see if there is a fix available that can be installed. You might have them try a different browser as well. He literally just got it recently. Getting a new phone is quite an expensive fix, unless he can return it and would somehow be willing to do that just to get access to the site. More than likely will result in a member simply not using the site. What would he (or I) even report to the manufacturer to fix? An IPS error stack trace isn't useful enough, we need to know what exactly is going wrong.
December 20, 20222 yr 9 minutes ago, Randy Calvert said: Tell them to get a non broken phone? Or have them reach out to their phone manufacturer support team to see if there is a fix available that can be installed. You'd be laughed out of the shop. @Clover13 - I've reproduced it exactly as you described using the chrome developer tools, and it appears to be a jQuery bug which, for some reason, is removing the 2 quote elements out of the DOM entirely - if I have time tomorrow then I will try to figure it out further. Please follow the following instruction, using Firefox (not Edge...Edge is built on the same base as Chrome) and advise if the same issue exists. 12 minutes ago, Randy Calvert said: You might have them try a different browser as well.
December 20, 20222 yr Author 4 minutes ago, Nathan Explosion said: You'd be laughed out of the shop. @Clover13 - I've reproduced it exactly as you described using the chrome developer tools, and it appears to be a jQuery bug which, for some reason, is removing the 2 quote elements out of the DOM entirely - if I have time tomorrow then I will try to figure it out further. Please follow the following instruction, using Firefox (not Edge...Edge is built on the same base as Chrome) and advise if the same issue exists. I've asked the member to test on Firefox or Opera. Looking at the console output, agree it appeared to be jQuery related. Very curious to see if you determine anything, super strange to have some random phone not work. Thanks @Nathan Explosion
December 21, 20222 yr Thank you for bringing this issue to our attention! I can confirm this should be further reviewed and I have logged an internal bug report for our development team to investigate and address as necessary, in a future maintenance release.
December 21, 20222 yr You've found that the error appears to be coming from this in ips.ui.editor.js then? Edited December 21, 20222 yr by Nathan Explosion
December 21, 20222 yr 40 minutes ago, Nathan Explosion said: You've found that the error appears to be coming from this in ips.ui.editor.js then? I havent. Ive seen there is a bug and reported it. I will leave that to the javascript experts lol
December 21, 20222 yr This is the specific point of failure... // Actually initiate // 01/05/16 - Changed to replacing a dom node instead of form field name here // because in some places we use the same field name multiple times on the page // e.g. editing posts in a topic. Using a string name broke the second editor. instance = CKEDITOR.replace( $( elem ).find('textarea').get(0), config ); This is returning null instead of an object, when you use the provided useragent information. Edited December 21, 20222 yr by Nathan Explosion
December 21, 20222 yr Following the addition of a check of the browser's compatibility with CKEditor, using a good old alert(CKEDITOR.env.isCompatible), then finding that it comes back as False, and then forcing that to True, I have now decided to get out of the rabbit hole. Good luck!
December 21, 20222 yr 5 minutes ago, Nathan Explosion said: Following the addition of a check of the browser's compatibility with CKEditor, using a good old alert(CKEDITOR.env.isCompatible), then finding that it comes back as False, and then forcing that to True, I have now decided to get out of the rabbit hole. Good luck! Always happy to hear you reached the same logical conclusion as I LOL.
December 21, 20222 yr I may having fallen back in, as I decided to dump out CKEDITOR.env and take a closer look... @Clover13 - ask that user to go to https://www.whatsmyua.info/ in Chrome and Firefox and provide back the exact text of the user agent string