Jump to content

Recommended Posts

Posted (edited)

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 by Clover13
Posted

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.

Posted
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.

Posted

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?

 

Posted (edited)

Yes, same site on file.

I reproduced this on MacOS with Chrome Version 108.0.5359.124 (Official Build) (x86_64)

Steps:

  1. Right click page (this page even) and select Inspect
  2. Click Toggle device toolbar to the left of Elements
  3. Click the dropdown for the Dimensions and select Edit
  4. Click Add custom device...
  5. Device Name: Motorola Edge 5G UW (2021)
  6. Dimensions:  400x800
  7. User agent string:  Dalvik/2.1.0 (Linux; U; Android 11; motorola edge 5G UW (2021) Build/RRMS31.Q3-23-39-14-1-1)
  8. Save and X out of the Edit window
  9. Select Motorola Edge 5G UW (2021) in Dimensions dropdown
  10. 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 by Clover13
Posted
24 minutes ago, Clover13 said:

Steps:

  1. Right click page (this page even) and select Inspect
  2. Click Toggle device toolbar to the left of Elements
  3. Click the dropdown for the Dimensions and select Edit
  4. Click Add custom device...
  5. Device Name: Motorola Edge 5G UW (2021)
  6. Dimensions:  400x800
  7. User agent string:  Dalvik/2.1.0 (Linux; U; Android 11; motorola edge 5G UW (2021) Build/RRMS31.Q3-23-39-14-1-1)
  8. Save and X out of the Edit window
  9. Select Motorola Edge 5G UW (2021) in Dimensions dropdown
  10. 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.

Posted
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.

Posted
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. 

Posted

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.  

Posted
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

Posted
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.

Posted
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.

Posted
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. 

 

Posted
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

Posted

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.

 

Posted
40 minutes ago, Nathan Explosion said:

You've found that the error appears to be coming from this in ips.ui.editor.js then?

Could contain: Page, Text

I havent. Ive seen there is a bug and reported it. I will leave that to the javascript experts lol

 

Posted (edited)

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 by Nathan Explosion
Posted
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. 

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...