ToranSharma / Duo-Strength

Browser extension to add back the strength for each individual skill, and other useful hidden statistics.
MIT License
35 stars 6 forks source link

Crowns in table view & XP in pop-up view & DND mode suggestions #76

Closed alexseyk closed 4 years ago

alexseyk commented 4 years ago

Please consider adding option for alternative displays of information in table & pop-up respectively.

1) For crowns in a table - when skills are at all 5 crowns + bonus and graph is displayed it is inconvenient to scroll the pop-up. Table view will be more suited. PS: Now I come to think this scrolling can be due to over zoom in my browser

2) For xp in a pop-up under streak (flame) as you did initially. When you are at the middle or bottom of the tree and want to check how much XP you obtained - it's a bother to scroll up the page to check - a pop-up view will be more suited.

3) Do Not Disturb mode : Options to hide XP Progress table, Next Achievements table, Friends Table and others

ToranSharma commented 4 years ago
  1. For crowns in a table - when skills are at all 5 crowns + bonus and graph is displayed it is inconvenient to scroll the pop-up. Table view will be more suited. PS: Now I come to think this scrolling can be due to over zoom in my browser

The scrolling behaviour is there to stop the popout box going off the bottom of the screen. Zooming into the page would cause there to be less vertical room for the popup box before overflowing content has to be scrolled into view.

I can however add the option to add the information in the side bar, as it currently the case for the XP info in desktop layout. The issues with this is that you will probably still need to scroll down to see all of it and other side bar boxes will be moved even further down the page. I suppose this is up to the user so I am happy to add the option of putting it there.

2. For xp in a pop-up under streak (flame) as you did initially. When you are at the middle or bottom of the tree and want to check how much XP you obtained - it's a bother to scroll up the page to check - a pop-up view will be more suited.

Similarly I will add the option to have the XP info shown in the streak popup. Note that I think it would be best to have the option of having both positions available at the same time, so they will be independent options. This would also be the case for the crowns info.

ToranSharma commented 4 years ago

Those options have been added in 9fa5a25.

alexseyk commented 4 years ago

Disabling crown graph removes crowns break down from the sidebar :(

Screen Shot 2020-06-11 at 10 14 05

Issue seem to be limited to en -> es course only. Info disappears after some mouse movement . Possibly after hovering over crown icon on the top. Also Practice and checkpoint test link did not load :(

OK Not limited. Same behavior for uk -> en tree

duoStrength.js:716 Uncaught (in promise) ReferenceError: progressRate is not defined at daysToNextCrownLevelByCalendar (duoStrength.js:716) at duoStrength.js:2642 at Array.forEach () at displayCrownsBreakdown (duoStrength.js:2315) at addFeatures (duoStrength.js:3308) at handleDataResponse (duoStrength.js:3638) 4duoStrength.js:716 Uncaught ReferenceError: progressRate is not defined at daysToNextCrownLevelByCalendar (duoStrength.js:716) at duoStrength.js:2642 at Array.forEach () at displayCrownsBreakdown (duoStrength.js:2315) at MutationObserver.childListMutationHandle (duoStrength.js:4110)

ToranSharma commented 4 years ago

The issue seems to be from having the Crowns Info added in both the sidebar and the popup, along with the tree level prediction enabled, while have not enough progress history to use for the prediction so it falling back to using the Calendar. The function to get the prediction from the calendar data has an error, so any code after that is not run. This includes adding the the Crowns Info to the sidebar, which is cleared before trying to update the information.

I get the same error if I freshly add the unpacked extension, and so have no progress history stored. Seems like this is simply a typo on line 716. I had to partially rewrite the prediction functions to add the extra data requested in #77.

Given that the error is coming from the daysToNextCrownLevelByCalendar call, I think that this issue will probably only be seen while you have the extension installed by loaded this unpacked source code. I expect that if you switched to the release version it would avoid this by using your stored progress history and the daysToNextCrownLevel function instead.

I will patch this up in v1.3.14

Edit: There was also a mistake on the next line, 717, the number of days worth of history was being returned instead of the number of the number of lesson till the next level. I will also rename these function to avoid confusion, crown level often times in these things means the tree level.

ToranSharma commented 4 years ago

The errors have been fixed in a2ca484.

All instances of crown level meaning tree level have been fixed in b76cc12.

ToranSharma commented 4 years ago

Just been working on the DND mode which I think I will call Focus Mode.

There is an option to enable it in the options page, as well as a option to show or hide a button that is show at the bottom of the tree, opposite the global practise button.

image

Here is how it looks at the moment (left- off, right on),

ToranSharma commented 4 years ago

I think that the disable focus button looks better being symmetric like this: image

I have changed this in 97d39a0.

ToranSharma commented 4 years ago

I have merged this feature into the develop branch in e7c1069.

alexseyk commented 4 years ago

i have v.1.3.24 but focus option & button are not available :( using Google Chrome is up to date Version 83.0.4103.116 (Official Build) (64-bit) on Mac 10.14.16

ToranSharma commented 4 years ago

These features have not been published yet, they are in the development branch and will be part of the next release. The next release will be v1.4.0 or v2.0.0 depending on on what else goes into it.

I have been trying to use the semantic version numbering system: Major.Minor.Fix.

It is my desire to only release new features in minor or major releases and not fix releases, though I have not always been constant with this in the especially pre-v1.2.0

I hope that explains the situation. I am not sure exactly when I will release the next feature release, I like to try bundle things together as much as possible to avoid masses of releases and having to write the duolingo forum posts that go with them.

I will be sure to let you know when the next release is out.

alexseyk commented 4 years ago

thanks for explaining. I just saw this feature in changelog and thought it was included in the release.