Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI bugs from external pinning/unpinning stream events #1487

Open
neiljp opened this issue Apr 23, 2024 · 0 comments
Open

UI bugs from external pinning/unpinning stream events #1487

neiljp opened this issue Apr 23, 2024 · 0 comments
Labels
area: event handling How events from the server are responded to area: UI: stream list bug Something isn't working help wanted This issue should be clear enough to work on

Comments

@neiljp
Copy link
Collaborator

neiljp commented Apr 23, 2024

#411 (support stream pinning events) was effectively completed by #695, which also integrated existing stream muting events and updating into a UI in the stream popup, where they could be modified from ZT.

However, #411 was left open, to reflect ongoing discussion regarding outstanding issues.

One aspect of that was expanded into #747, to ensure that the stream popup data was synchronized with server data, if the latter changed while the popup was open.

The other was to ensure the behavior of the UI was reasonable when stream (pinning) events occurred externally to ZT, in particular when the focus is in the left panel, which is the focus of this issue.

Apparent Bugs

These are all from the focus/selection starting in the stream or topic list, before then updating a pinning status from another client (web or elsewhere)

  1. In stream list:
    • Move focus on a given stream, eg. 5 streams down from the top
    • pinning event occurs
    • Focus jumps to top of stream list
  2. In topic list, with previous stream list focus:
    • Move focus on a given stream, eg. 5 streams down from the top
    • Use t to enter topic list
    • Move focus on an entry eg. 6 down in the topic list
    • pinning event occurs
    • Nothing happens in topic list (as expected)
    • Use t to return to stream list
    • focus in stream list is at the top, not 5 down
    • Moving down to the previous stream and using t, the topic focus is retained (as expected)
  3. In stream list, during search:
    • Use q to start a stream search
    • type some text to search for a stream name
    • hit enter
    • focus is in limited list of streams
    • pinning event occurs
    • stream search is reset, focus is on top of stream list
  4. Combination of 2 and 3: search for subset of streams, use t
    • pinning event occurs
    • Nothing happens in topic list (as expected)
    • Use t to return to stream list
    • stream search is reset
    • focus in stream list is at the top, not 5 down
    • Moving down to the previous stream and using t, the topic focus is retained (as expected)
  5. In (stream) panel search box:
    • pinning event occurs
    • Traceback overlaid on screen:
    line 346 in update_streams
    with self.search_lock:
    AttributeError: 'StreamsView' object has no attribute 'search_lock'
    
    • Search is no longer usable without a restart

In all cases, the expected behavior is:

  • the stream list updates to adjust the (un)pinned stream position
  • focus remains on the same item
  • stream search is not interrupted
  • search doesn't cause a traceback :)

It's possible the last issue will need more adjusting, and similar issues may be in the user list or elsewhere.

@neiljp neiljp added the area: event handling How events from the server are responded to label Apr 23, 2024
@neiljp neiljp added area: UI: stream list bug Something isn't working help wanted This issue should be clear enough to work on labels Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: event handling How events from the server are responded to area: UI: stream list bug Something isn't working help wanted This issue should be clear enough to work on
Projects
None yet
Development

No branches or pull requests

1 participant