Skip to main content

Troubleshooting xAPI

  • April 8, 2026
  • 1 reply
  • 22 views

Blocked course progress for some users – xAPI/Rise with Mighty extension

H

We're experiencing an intermittent course progress issue and hoping someone has run into something similar.

We have courses with multiple stacked modules. For a small but notable number of users, the course fails to progress after completing a module, the majority of users have no issues at all.

What we've tried:
- The original files were large, so we swapped embedded MP4s for Vimeo-hosted videos to reduce size. This helped, but the problem persists for some users.
- We've had affected users clear their cache and re-enrolled them, issue still occurring.

These are xAPI files exported from Rise using the Mighty extension.

Has anyone encountered this? Any ideas on what might be causing it or where to look next would be really appreciated!

1 reply

Moshe.Machlav
Helper III
Forum|alt.badge.img+1

Hey ​@samiCDG Welcome to Docebo community.
This is a classic "intermittent ghost" issue that often plagues xAPI deployments, especially when using third-party extensions like Mighty to bridge the gap between Rise and the LRS.

In many organizations I’ve worked with, "intermittent" progress issues usually point to one of two things: network latency preventing the xAPI statement from reaching the LRS before the window is closed, or browser session conflicts (especially in multi-module setups).

Before you go deeper into the xAPI logs, I’d suggest checking a often-overlooked setting in the platform.

1. Check the "Track All Activities" Setting

In Docebo, when you upload an xAPI package, there is a specific toggle in the training material settings called "Track all activities." By default, this is enabled. However, for multi-module packages (or those using the Mighty extension to sequence "stacked" content), this can cause confusion. If enabled, the platform tracks every sub-activity; if disabled, it only looks for the main completion statement.

 

  • Action: Go to Course Management > [Your Course] > Training Material. Click the hamburger menu on the xAPI object > Settings. Try toggling this to see if the behavior stabilizes for the "stacked" logic.

2. The Mighty Extension & Statement Buffering

I've seen cases where the Mighty extension attempts to batch statements to improve performance. If a user has a "fluttery" connection, or if they close the tab immediately after a module completion trigger, the final "Passed/Completed" statement might stay in the browser's local storage and never hit Docebo.

  • Tip: Check if your Rise export is set to "Track using xAPI" but also has a "Submit" or "Exit" button. In Docebo, explicitly using a "Close" or "Exit" button within the content is much more reliable for flushing the xAPI statement queue than simply closing the browser tab.

3. Verification of User Profiles

A known constraint in Docebo is that users must have a valid email address associated with their profile for xAPI tracking to work reliably. If you have "notable" numbers of users failing, check if those specific users were created via a sync that might have left the email field blank or used a placeholder format that doesn't match the xAPI Actor requirements.

 

Technical Documentation

For the exact technical requirements and the "Track all activities" behavior, refer to the official guide here: Uploading xAPI (formerly Tin Can API) content

A quick experiment to try: If you have a test user who can reproduce this, have them open the browser console (F12) while finishing a module. Look for 403 or 401 errors on the /tcapi/ endpoint. If you see those, it's a session timeout or a cookie issue rather than a content issue.

Let me know if you want to dig into how to read those LRS statements to see exactly what’s being sent!