Shepherd tour steps with advanceOn keys do not trigger the tour's onNext callback
- Dominant language
- JavaScript
- Stars
- 400
- Forks
- 89
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 149
Description
### Current Behavior
The title pretty much sums it up. If a shepherd tour stage has an advanceOn key, the onNext callback is not getting called. This might be why we're seeing these drop offs in posthog.
This might be because we're adding the handler only on the 'next' button in `frontend/src/tours/Tours.js:112` although this feels like it should be triggered automatically by the framework itself.
Another quirk was that shepherd did not trigger the onComplete handler by default when the last stage of the tour was accomplished when the last step had an advanceOn key (see `frontend/src/tours/tour-first-device.js:50`). This was only happening when vue click event handlers were added to the elements shepherd was tracking (a fix in where we re-emit the click event for shepherd can be found here `frontend/src/pages/team/Devices/dialogs/DeviceCredentialsDialog.vue:126`).
Although we're using the vue-shepherd library, it doesn't seem to play nice with vue.
### Expected Behavior
all tour stage events should be triggered and captured correctly.
### Steps To Reproduce
place console logs in the tour event handlers and follow the first-devices tour, which is most evident.
### Environment
- FlowFuse version: 2.13.1
- Node.js version: N/A
- npm version: N/A
- Platform/OS: N/A
- Browser: N/A
### Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate
Contributor guide
Assessment
This issue has not been assessed yet.