Element-web: Jump to first unread message: does not jump, and the prompt to jump persists

Created on 27 Apr 2017  ·  13Comments  ·  Source: vector-im/element-web

/develop/

Description

At https://riot.im/develop/#/room/#riot:matrix.org the prompt to jump became ineffective.

Steps to reproduce

As far as I recall:

  • I sped through a number of pages of unread messages
  • no appearance of a prompt to jump
  • the absence of a prompt seemed contrary to the excessive prompting that was recently mentioned at https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/$1493142037349322RBKPm:matrix.org
  • aiming to understand how I might have overcome the excessive prompting, I varied my paging behaviours (sometimes pointing at messages, without clicking, after using the keyboard alone to page; and so on)
  • I experimented with the pointer at either side of the message column before using the keyboard alone to page
  • eventually a prompt to jump appeared
  • I soon realised that jumping did not (or had ceased to) occur but (sorry) I can't recall whether the affected prompt was the first, or a subsequent prompt
  • I recorded the screen
  • whilst recording, I keyed F11 to take the Firefox window full screen (I _might_ have also entered then exited full screen some time _before_ observing the bug … in and out of full screen is the type of action that I perform instinctively, without making a mental note of the action)
  • after recording, whilst drafting this report, I prepared to send the application log but those preparations failed.

Version information

$ about

===================
General information
===================

boot environment now (N) … 12.0-CURRENT-up-20170330_080908 NR 2017-03-30
       after restart (R) … 12.0-CURRENT-up-20170330_080908 NR 2017-03-30
boot loader …………………………………… BSD
            type ……………………… EFI
CPU ………………………………………………………… Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
    number of cores ……………… 4
host ……………………………………………………… momh167-gjp4-hpelitebook850g2-trueos.university.brighton.ac.uk
memory ………………………………………………… 16384 MB available, 4279 MB free
OS git branch ……………………………………………………………………………………… drm-next
OS git revision ………………………………………………………………………………… a009033ff
OS kernel build time ………………………………………………………… Wed 2017 Mar 29 20:13:33 UTC
OS kernel identity …………………………………………… (uname -i) GENERIC
OS platform (architecture) ……………………… (uname -m) amd64
OS release level ………………………………………………… (uname -r) 12.0-CURRENT
OS version and patch level …… (freebsd-version) 12.0-CURRENT
TrueOS package set ………………… CUSTOM
TrueOS version …………………………… TrueOS-Desktop-201703201429
uptime ………………………………………………… 8:38
user  …………………………………………………… grahamperrin

More (TrueOS Desktop):

    desktop environment …… KDE
    sound card driver ………… pcm1: <Realtek (0x0280) (Analog 2.0+HP/2.0)> on hdaa1  (1p:2v/1r:4v) default
    wireless driver ……………… iwm0
    X11 drivers ………………………… intel_drv.so 

$ 

2017-04-27 02-47 Firefox troubleshooting information.txt

bug p1 minor

All 13 comments

Screen recording

In my new _Riot_ album at https://goo.gl/photos/xmKAnhE3WDsLQLFj8

The message near the top of the window, "itsfemme: what did it end up being?" was https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/$1493148090593UZSPp:riot.ovh (20:21, undated).

Application log

Sent, with reference to this issue but I suspect that part of the log may be misleading because before I had an opportunity to send it, the application lost the ability to show settings. Screenshot below, this should be a separate issue:

2017-04-27 03-12-55

(Notes to self: maybe lost after an attempt to escape from the bug reporting dialogue; and at some point after that shot, I observed a URL for a different room (not the Riot room) in the address field of Firefox.)

For me to regain the ability to show settings, it might have been necessary to browse back and/or reload; if actions such as those were logged, maybe ignore them (and I hope that the relevant part of the log was not lost).

Maybe relevant, at https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/$1493144151588XEmtU:riot.ovh (19:16, undated) 𝔱𝔷𝔠𝔥𝔤𝔲𝔶 wrote:

… joining a new room has the "Jump to first unread message" banner visible yet it doesn't go anywhere
on /develop/

For me the issue recurred after browsing:

Before jumping:

before

After jumping – a spin of the asychronous progress indicator, then reappearance of the same set of messges:

after

Preparing to browse back:

back menu

… After jumping – a spin of the asychronous progress indicator, then reappearance of the same set of messges: …

Now at https://riot.im/develop/#/room/#bsd:matrix.org I have a comparable set of symptoms.

Jump to first unread message: does not jump, and the prompt to jump persists

– that is true

… asychronous progress indicator …

– that is not true.

I _assume_ that it is the same underlying bug. I will use the application to send a log with reference to this comment.

If not the same, please ask me to seek (or raise) a separate issue. Thanks.

Sadly, there aren't any logs for debugging this, but thanks. @grahamperrin, could you give the steps to reproduce this?

Thanks,

Sadly, there aren't any logs for debugging this, …

Please, do you mean that even if I provide a relatively clean log the log certainly will _not_ include information that might help to diagnose this issue?

Please, do you mean that even if I provide a relatively clean log the log certainly will not include information that might help to diagnose this issue?

yes

~So I think that this is being caused by MELS still, because you can't jump to an event that's in a MELS at all. This can be fixed by expanding a MELS if it contains the highlighted event ID. But it cannot be expanded if isn't paginated because there might not be a scroll token for an event in MELS.~

Confirmed that MELS is the problem:

Scrolling to  $149338658241eNzWu:localhost
ScrollPanel: No node with scrollToken '$149338658241eNzWu:localhost'

Update: Made a bit of progress with this; the MELS never exposed a scrollToken correctly. It needs a way of letting the ScrollPanel know about its child scroll tokens, even if it's not expanded.

When trying to scroll to an event in a MELS:

  1. TimeLinePanel jumpToReadMarker is called. This will either call scrollToEvent directly or invoke _loadTimeline which will invoke scrollToEvent indirectly.
  2. Either way, if scrollToEvent is invoked and there is no node present with the given scrollToken, the scroll state will be restored to the previous scroll state.

Thanks, is the fix rolled out yet?

Not chasing, just curious. Bugged:

not jumping

In that shot:

matrix-react-sdk version: 4f72450847b7739868bd258342b1510db58ad321
riot-web version: 9f3c1deae600-react-4f72450847b7-js-acd7f15c8376
olm version: v2.2.1

@grahamperrin the referenced PR hasn't been merged yet, so no.

:+1: I have not seen this issue in a while. Thanks again.

Was this page helpful?
0 / 5 - 0 ratings