mozilla-mobile / fenix

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
https://github.com/mozilla-mobile/firefox-android
Mozilla Public License 2.0
6.47k stars 1.27k forks source link

[Bug] Hyperlinks not working consistently #10578

Closed quadriflax closed 4 years ago

quadriflax commented 4 years ago

Steps to reproduce

Clicking various links and buttons.

Expected behavior

Hyperlinked text should open the specified link.

Actual behavior

Nothing opens. Text flashes, registering the click, but no action is processed.

Device information

Rolling back to 10 May 2020 release works as intended. Add-ons are disabled then uninstalled, problem persists. App was reinstalled clean, problem persists. Only fix is rolling back to 10 May nightly.

Problem is present on multiple forums, including: slickdeals.net (full site version), playstationtrophies.org (desktop version), Plex forums (mobile version). Note: some links work, but clicking new topics on the forum does not open anything. Clicking next page button does not do anything, etc.

┆Issue is synchronized with this Jira Task

ekager commented 4 years ago

Can reproduce in Samples Browser built with current GV Nightly but went back a few days and found a working Nightly version

ekager commented 4 years ago

Filed as https://bugzilla.mozilla.org/show_bug.cgi?id=1637135

quadriflax commented 4 years ago

Hello--

I noticed bug 1637135 has been closed, but this problem persists.

1) Go to https://slickdeals.net/f/14022257-craftsman-v20-cordless-drill-combo-kit-two-tools-charger-two-batteries-storage-bag-99-free-shipping?src=rcm_category

2) Request Desktop Site

3) Click View Forum Thread (this is important)

4) Scroll to Comments, click comment page numbers/forward button. Search buttons, etc, are also broken.

Funny enough, if you just click the first link, everything seems to work. Going into the forums causes the buttons to break again. The actual links also seem to work now, so it's mostly fixed, but some issues remain.

Check here for another example: https://www.playstationtrophies.org/forum/shenmue-iii/341387-shenmue-iii-trophy-guide-roadmap.html

Try clicking on the page buttons in desktop mode and they also don't work. All add-ons are fully disabled. I'm on latest Google Play nightly:

Nightly 200514 06:00 (Build #2015740209) 42.0.20200513162226, 956bc5f9b GV: 78.0a1-20200513094918 AS: 0.58.2

Rolling back to a version from 10 May still works.

collares commented 4 years ago

I can't reproduce this using the latest GeckoView nightly on a Galaxy Note 9. I am clicking on "70 comments" instead of "View Forum Thread" because I don't see such a link (Ctrl-F does not find it on a desktop). Do I need an account on slickdeals.net?

I can also successfully click on the "1", "2", "3" bottom page buttons on playstationtrophies.org.

quadriflax commented 4 years ago

I definitely still can't click the page buttons at the top/bottom of playstationtrophies.org on my Samsung Galaxy Tab A (2019). It works fine on other browsers, including 10 May version of the Fenix nightly. All add ons disabled. I even tried a fresh install, still not working.

Slickdeals is still messed up, too, but try going to the bottom of the page (in desktop mode) and look for "classic view". This will change how the link above looks. Then look for this button: Capture

I forgot my account is set to keep their "classic view" as my default, so being in private mode or logging out does look different. The new version seems to be okay, but the classic view (which looks more like playstationtrophies.org when in desktop), still doesn't work with those buttons for me.

EDIT: https://www.xboxachievements.com/forum/forumdisplay.php?f=591 This site has the same issue with buttons not working. It uses vBulletin forum like the PlayStation site. There may be something going on with forum software...?

collares commented 4 years ago

Sorry, it works here (same Nightly version). What does the "Graphics" section of about:support say for you?

quadriflax commented 4 years ago

It was impossible to copy/paste from the new nightly. Selecting text is bugged out. I pulled the below from the 10 May version of Fenix. I should mention I use Fennec for latest version, which is the one that wouldn't let me select text and has broken buttons (it is my understanding they are the same anyway). Here is what I pulled:

Graphics

Features Compositing OpenGL Asynchronous Pan/Zoom touch input enabled; autoscroll enabled; smooth pinch-zoom enabled WebGL 1 Driver WSI Info EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_IMG_context_priority EGL_KHR_no_config_context WebGL 1 Driver Renderer ARM -- Mali-G71 WebGL 1 Driver Version OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0### WebGL 1 Driver Extensions GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array WebGL 1 Extensions ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_float_blend EXT_sRGB MOZ_debug OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context WebGL 2 Driver WSI Info EGL_VENDOR: Android EGL_VERSION: 1.4 Android META-EGL EGL_EXTENSIONS: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_ANDROID_get_native_client_buffer EGL_ANDROID_front_buffer_auto_refresh EGL_ANDROID_get_frame_timestamps EGL_EXT_surface_SMPTE2086_metadata EGL_EXT_surface_CTA861_3_metadata EGL_KHR_image EGL_KHR_image_base EGL_EXT_image_gl_colorspace EGL_KHR_gl_colorspace EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_config_attribs EGL_KHR_surfaceless_context EGL_EXT_create_context_robustness EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable EGL_KHR_partial_update EGL_EXT_pixel_format_float EGL_KHR_mutable_render_buffer EGL_IMG_context_priority EGL_KHR_no_config_context WebGL 2 Driver Renderer ARM -- Mali-G71 WebGL 2 Driver Version OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0### WebGL 2 Driver Extensions GL_EXT_debug_marker GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_compressed_paletted_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_required_internalformat GL_OES_vertex_array_object GL_OES_mapbuffer GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_type_2_10_10_10_REV GL_OES_fbo_render_mipmap GL_OES_element_index_uint GL_EXT_shadow_samplers GL_OES_texture_compression_astc GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_sliced_3d GL_KHR_debug GL_EXT_occlusion_query_boolean GL_EXT_disjoint_timer_query GL_EXT_blend_minmax GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_OES_texture_3D GL_EXT_texture_storage GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_surfaceless_context GL_OES_texture_stencil8 GL_EXT_shader_pixel_local_storage GL_ARM_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_ARM_mali_program_binary GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_texture_sRGB_decode GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OES_texture_storage_multisample_2d_array GL_OES_shader_image_atomic GL_EXT_robustness GL_EXT_draw_buffers_indexed GL_OES_draw_buffers_indexed GL_EXT_texture_border_clamp GL_OES_texture_border_clamp GL_EXT_texture_cube_map_array GL_OES_texture_cube_map_array GL_OES_sample_variables GL_OES_sample_shading GL_OES_shader_multisample_interpolation GL_EXT_shader_io_blocks GL_OES_shader_io_blocks GL_EXT_tessellation_shader GL_OES_tessellation_shader GL_EXT_primitive_bounding_box GL_OES_primitive_bounding_box GL_EXT_geometry_shader GL_OES_geometry_shader GL_ANDROID_extension_pack_es31a GL_EXT_gpu_shader5 GL_OES_gpu_shader5 GL_EXT_texture_buffer GL_OES_texture_buffer GL_EXT_copy_image GL_OES_copy_image GL_EXT_shader_non_constant_global_initializers GL_EXT_color_buffer_half_float GL_EXT_color_buffer_float GL_EXT_YUV_target GL_OVR_multiview GL_OVR_multiview2 GL_OVR_multiview_multisampled_render_to_texture GL_KHR_robustness GL_KHR_robust_buffer_access_behavior GL_EXT_draw_elements_base_vertex GL_OES_draw_elements_base_vertex GL_EXT_protected_textures GL_EXT_buffer_storage GL_EXT_external_buffer GL_EXT_EGL_image_array WebGL 2 Extensions EXT_color_buffer_float EXT_float_blend MOZ_debug OVR_multiview2 WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context Uses Tiling true Uses Tiling (Content) true Target Frame Rate 60 GPU #1 Active Yes Description Model: SM-T510, Product: gta3xlwifixx, Manufacturer: samsung, Hardware: exynos7885, OpenGL: ARM -- Mali-G71 -- OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0### Vendor ID ARM Device ID Mali-G71 Driver Version OpenGL ES 3.2 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0### RAM 0 Diagnostics AzureCanvasBackend skia AzureContentBackend skia AzureFallbackCanvasBackend none CMSOutputProfile Empty profile data Display0 1920x1200 DisplayCount 1 TileHeight 512 TileWidth 512 Device Reset
Decision Log HW_COMPOSITING
force_enabled by user: Force-enabled by pref OPENGL_COMPOSITING
force_enabled by user: Force-enabled by pref WEBRENDER
opt-in by default: WebRender is an opt-in feature WEBRENDER_QUALIFIED blacklisted by env: No qualified hardware WEBRENDER_COMPOSITOR
disabled by default: Disabled by default unavailable by runtime: No DirectComposition usage WEBRENDER_ANGLE opt-in by default: WebRender ANGLE is an opt-in feature WEBRENDER_DCOMP_PRESENT opt-in by default: WebRender DirectComposition is an opt-in feature OMTP
disabled by default: Disabled by default WEBGPU
disabled by default: Disabled by default Failure Log (#0) Error Failed to create EGLContext!: 0x300c (#1) Error Failed to create EGLContext!: 0x300c (#2) Error Failed to create EGLContext!: 0x300c

As mentioned previously, it seems to be working fine on my Moto G5+, running 8.1, but my tablet runs 9.0, so not sure if there's anything to that. Anything else I can pull to try and narrow this down? Is it possible some residual file is corrupted, even after an uninstall/reinstall? I've nuked the install a few times with no luck, I've tried Google Play and direct APK download from Mozilla, still no luck. It simply stopped working starting with 11 May nightly and hasn't worked since, with all previous versions still working.

EDIT: Adding video, to illustrate the point. This shows the SD working on the first page from the link above, then failing to load anything on the second page of the main forum, when I click the various buttons. Apologies for being a bit shakey but I think it gets the point across. It's the same for the PS link. VID_20200514_154944082(1).zip

quadriflax commented 4 years ago

Bug appears to be fixed in version

Nightly 200515 18:01 (Build #2015740497) 42.0.20200515130053, 240940534 GV: 78.0a1-20200514094044 AS: 0.58.2

Thank you!!

quadriflax commented 4 years ago

Looks like I spoke too soon. It worked, now it's not working again? I don't understand why that would happen. Any ideas? What else can I do to try and help squash this bug?

EDIT: It seems sometimes it's working, other times not. I'm not sure what's up now. This is weird.

collares commented 4 years ago

@quadriflax I am seeing even weirder behavior on my Galaxy Tab A (2016): Nothing sufficiently to the right of the screen works in landscape mode when Desktop Mode is active. I recorded a video too; in the video, I am using my S-Pen to indicate the approximate boundary of the working region. Do you see similar behavior?

Unfortunately, I can't reproduce this in GeckoViewExample, so bisecting it is time-consuming.

quadriflax commented 4 years ago

@collares you are definitely on to something. I use my tablet in landscape and my phone in portrait. I just checked and links are working in portrait on my tablet, but switching to landscape breaks them. And it does seem to be links on the right side only. Super odd, but I think you've narrowed it down!

EDIT: My Moto G5+ seems to be fine in landscape, so there's a difference between my tablet and phone. If there's any other info I can share to further narrow it down, let me know.

moztcampbell commented 4 years ago

I'm seeing similar issues on numerous sites. With https://bugzilla.mozilla.org/show_bug.cgi?id=1638441 fixed, most of the bugs around dismissing cookie prompts while zoomed are fixed. A lot of sites remain broken though.

quadriflax commented 4 years ago

Still an issue in

Nightly 200518 18:01 (Build #2015741073) 42.0.20200515130053, 240940534 GV: 78.0a1-20200514094044 AS: 0.58.2

I do notice that if I zoom in, the links will work of they're over to the left far enough.

fluffyemily commented 4 years ago

Fix landed 16th May 2020 and will be available in GeckoView 78

quadriflax commented 4 years ago

I'm still seeing this issue as of the latest nightly:

Nightly 200519 06:00 (Build #2015741169) 42.0.20200518130035, f0cb2cca9 GV: 78.0a1-20200517094345 AS: 0.58.2

I presume GV is the GeckoView version, which says 78. Am I misunderstanding when a fix will be available? Bug 1637135 is still open: https://bugzilla.mozilla.org/show_bug.cgi?id=1637135

liuche commented 4 years ago

@quadriflax the most accurate place to get updates is to follow along on the progress in that bugzilla bug. Once that bug closes, it will take up to 2 days for that change to percolate into Fenix Nightly.

Note to self and others: this is only a problem in GV 78, so it's not in GV 77. Botond expects this to be fixed before 78 leaves Nightly.

quadriflax commented 4 years ago

Yup. I've been following it there. I was just noting here that it wasn't closed on 16 May like someone else said. Great to see it being worked on so quickly. I have no doubt it will be good to go soon enough.

quadriflax commented 4 years ago

I saw this bug closed out, but latest nightly doesn't resolve. Is the fix not included in this version, and if not, will it be in the next?

Nightly 200527 18:16 (Build #2015742801) 44.0.20200527130120, b1ddaff6a GV: 78.0a1-20200525093440 AS: 0.59.0

Also not fixed in

Nightly 200528 06:00 (Build #2015742897) 44.0.20200527130120, b1ddaff6a GV: 78.0a1-20200525093440 AS: 0.59.0

collares commented 4 years ago

This was fixed in GeckoView ("GV") yesterday. Your GV version starts with "20200525" (May 25th), and so it doesn't contain the fix yet.

Someone needs to update android-components (which in your build is at version 44.0.20200527130120) to pick up the GeckoView changes, and then update fenix to use the updated android-components. This all happens regularly, so there is no need to do anything special for this bug, but it takes a few days for it to propagate all the way to fenix.

You'll know you have the fix for sure if your GV version starts with "20200528" or a later date. "20200527" builds may or may not have it, depending on the time they were built.

quadriflax commented 4 years ago

Cool. Thank you for explaining. I'm new to all this, but that makes total sense. I'll keep an eye out!

Appears to be fixed with

Nightly 200529 06:01 (Build #2015743089) 44.0.20200528190114, 539d368b0 GV: 78.0a1-20200528032513 AS: 0.59.0

Will reopen if bug resurfaces.