Git Product home page Git Product logo

Comments (7)

actuallyakash avatar actuallyakash commented on July 30, 2024

The alternative is:

To enable the button quickly after making changes, just reload the page and deny the Leave Page confirmation box. the button will get enabled.

from lifterlms.

eri-trabiccolo avatar eri-trabiccolo commented on July 30, 2024

About the actual behavior:

The save button doesn't get enabled even after making changes. It enables in a random order and takes too much time leaving the user in anticipation.

This seems a bug. Can you reproduce it consistently? Like change only one thing and see whether or not the save button gets enabled.

The waiting time for the Save button to get enabled is random and can't be predicted.

Actually it's not random and can be predicted, the check on whether the save button needs to be enabled is run every 10 seconds, this value can be modified using this filter: https://github.com/gocodebox/lifterlms/blob/185e02878c7395e795b3763a501f645ea39bc8d7/includes/admin/class.llms.admin.builder.php#L645C9-L645C35

Sometimes it doesn't get enabled at all even after making changes which results in data loss due to page reload.

This is very related to the point one, we need to find a pattern, is there a specific input that when changed is not detected as such?

After making changes, the auto-save shows the button in the "Saved" state and when we leave the page it shows the leave page confirmation box. It means if I leave the page, all the changes will vanish and if I don't and want to save it, I can't because the Save button is disabled and it's still in the "Saved" state.

I cannot reproduce this, you're saying that when the "confirmation box" shows up, if you click on "Stay on page", then the Save Button doesn't get enabled? The confirmation box shows up when an unsaved change is detected, and when that happens the button state is changed accordingly:

$( window ).on( 'beforeunload', function() {


Backbone.pubSub.trigger( 'current-save-status', data );

Backbone.pubSub.on( 'current-save-status', this.changes_made, this );

changes_made: function( sync ) {

Is it possible that after you clicked on "Stay on page" the button, accidentally the autosave was triggered and then the button rapidly went from disabled to enabled to disabled state again? So everything was saved but it was not clear?

from lifterlms.

eri-trabiccolo avatar eri-trabiccolo commented on July 30, 2024

@actuallyakash
when you got time, a feedback on my reply?

from lifterlms.

actuallyakash avatar actuallyakash commented on July 30, 2024

About the actual behaviour:

The save button doesn't get enabled even after making changes. It enables in a random order and takes too much time leaving the user in anticipation.

This seems like a bug. Can you reproduce it consistently? Like change only one thing and see whether or not the save button gets enabled.

Yeah, I can reproduce it consistently. Below are some experiments:

  1. Updated Lesson Title - Took 19.54 seconds - to save automatically.
  2. Updated Quiz Title - Took 27.90 seconds - to enable save button.
  3. Enable Limit Attempts - Took 12.79 seconds - to enable save button.
  4. Enable Question Banks - Took 5.29 seconds - to enable save button.

It seems to work fine for now. I'm not able to reproduce the case when it was not getting enabled at all.

The waiting time for the Save button to get enabled is random and can't be predicted.

Actually it's not random and can be predicted, the check on whether the save button needs to be enabled is run every 10 seconds, this value can be modified using this filter: https://github.com/gocodebox/lifterlms/blob/185e02878c7395e795b3763a501f645ea39bc8d7/includes/admin/class.llms.admin.builder.php#L645C9-L645C35

Oh, maybe it's due to the local server being slow. When testing now it seems to enable the save button quite fast.

Sometimes it doesn't get enabled at all even after making changes which results in data loss due to page reload.

This is very related to the point one, we need to find a pattern, is there a specific input that when changed is not detected as such?

Let's keep this issue open for some time and once I'll get that particular pattern, I'll post it here. It seems to work fine most of the time right now. However, I mostly faced issues with the save button while working on quizzes.

After making changes, the auto-save shows the button in the "Saved" state and when we leave the page it shows the leave page confirmation box. It means if I leave the page, all the changes will vanish and if I don't and want to save it, I can't because the Save button is disabled and it's still in the "Saved" state.

I cannot reproduce this, you're saying that when the "confirmation box" shows up, if you click on "Stay on page", then the Save Button doesn't get enabled? The confirmation box shows up when an unsaved change is detected, and when that happens the button state is changed accordingly:

It happened on a customer's website that it was not getting enabled at all. There were no caching plugins.
Also, it happened on my local installation once while working on the question banks, although, it's working fine for now.

Is it possible that after you clicked on "Stay on page" the button, accidentally the autosave was triggered and then the button rapidly went from disabled to enabled to disabled state again? So everything was saved but it was not clear?

I didn't face this case, as after clicking "Stay on page", the button didn't change at all and when I clicked reload the changes I made were not there. Again, I'm not able to reproduce the issue.

from lifterlms.

dominiquemariano avatar dominiquemariano commented on July 30, 2024

Another ticket complaining about this is HS-238541. Should we always have the "Save" button in the course builder to be always clickable?

from lifterlms.

dominiquemariano avatar dominiquemariano commented on July 30, 2024

Another ticket complaining is HS-238793.

from lifterlms.

brianhogg avatar brianhogg commented on July 30, 2024

The saving check happens every 10 seconds, so it's random when it'll happen. The title was not editable but that is being fixed separately.

@dominiquemariano It's worth recommending that users disable auto save in their profile if they're having issues. With the course builder UX/UI changes the save button should appear within 1 second with auto save disabled vs. up to 10 seconds.

I'm going to close this issue for now as it has a few different paths in it (ie. consistency of saves, time to show save button which is being changed, un-reproducable showing of "stay on page" message, etc). We can create one issue per re-producable bug we see and tackle them one-by-one.

from lifterlms.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.