freeinklewriter icon indicating copy to clipboard operation
freeinklewriter copied to clipboard

Map view "End." link puts web app in unusable state

Open anthonyronda opened this issue 4 years ago • 2 comments

Note: for support questions, please use stackoverflow. This repository's issues are reserved for feature requests and bug reports.

  • I'm submitting a ...

    • [x] bug report
    • [ ] feature request
    • [ ] support request => Please do not submit support request here, see note at the top of this template.
  • Do you want to request a feature or report a bug?

bug

  • What is the current behavior?

When clicking on an End. link inside the map view (any endpoint within a story), the web app does not return to a normal state. The webpage is dimmed and none of the controls can be interacted with (menu buttons, story paragraph or choice inputs, etc).

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).
  1. Open the tutorial, a new story, or load an existing story.
  2. Click write in the menu to reveal the map menu option, if it isn't already revealed.
  3. Click the map menu button to open the map view modal (background is dimmed but still visible).
  4. Navigate to an endpoint in the mapview by clicking through story nodes (a node with an End. link is visible).
  5. Click the End. link.
  6. Map view modal closes, inklewriter "write" pane navigates to the correct story node, but webpage is still dimmed. All controls are uninteractable and cannot be returned to a usable state normally. (Removing <div class="eventAbsorber"></div> DOM element in Chrome devtools returns inklewriter to a working state without a page refresh).
  • What is the expected behavior?

When clicking the End. link inside the map view, the modal and dimming element are both removed completely to resume web app interactivity.

  • Please tell us about your environment:

    • Version: 1.0
    • Browser: Chrome 80
    • Language: N/A
  • Other information (e.g. detailed explanation, stacktraces, related issues

There are no console errors.

anthonyronda avatar Mar 12 '20 17:03 anthonyronda

Thanks for the report @rondaa.

It seems to be an elusive bug. First I reproduced it. And then after debugging, it wouldn't occur anymore. Makes it harder to understand.

Anyway, I traced the code causing the error. I think it is at line 6260 of the app:

this.jqStitchNode.bind("click", function() { return a(i, s.inThisKnot, s.stitch), !1 })

It is relative to the GraphNode object, which I have not yet understood or analyzed.

It is not a critical bug, but we'll find how to fix it sometime for sure.

albancrommer avatar Mar 17 '20 19:03 albancrommer

Might be a race condition on the first load? Try with an incognito window with a fresh load of the page. Also try with speed throttling turned on . Just trying to think of ways to reproduce.

triptych avatar Apr 22 '20 04:04 triptych