-
Notifications
You must be signed in to change notification settings - Fork 989
[FIX] Seconds not properly prevented from being negative #1310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Requesting review @Sneezry @mymindstorm
It's on my to-do list, but might take me a while to get to this
🛎️🛎️🛎️ @Sneezry @mymindstorm
@mymindstorm 📟📟📟
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your patience. Slight nitpicks, but otherwise good catch!
Co-authored-by: Brendan Early <mymindstorm@evermiss.net>
It looks like I don't have permission to push to your branch to fix the lint issues.
@mymindstorm I've added you as a collaborator.
FYI, I've never been a fan of prettier, it's too opinionated. The actual code is important, how it's formatted can always be corrected later.
@mymindstorm I think we're good to go here
@mymindstorm ...
After running prettier
with the --write
option, I get this from git diff --stat
:
src/store/Accounts.ts | 79 +++++++++++++++++++++++++--------------------------
1 file changed, 38 insertions(+), 41 deletions(-)
Would you like me to commit this? - It will pollute the PR diff a little, I await your decision.
That doesn't seem right, have you tried running npm run chrome
? It will automatically format it using our configs.
@mymindstorm You have collaborator access to my fork, can you take over from here?
@mymindstorm ...
That doesn't seem right, have you tried running
npm run chrome
? It will automatically format it using our configs.
I don't think you have any prettier configs (https://prettier.io/docs/en/configuration)
When you use prettier outright instead of through npm run, depending on how your system is configured it might use a different version which may have different rules.
I'll get to this when I can just am extremely busy.
@mymindstorm ...
When you use prettier outright instead of through npm run, depending on how your system is configured it might use a different version which may have different rules.
https://prettier.io/docs/en/configuration says
Prettier intentionally doesn’t support any kind of global configuration. This is to make sure that when a project is copied to another computer, Prettier’s behavior stays the same. Otherwise, Prettier wouldn’t be able to guarantee that everybody in a team gets the same consistent results.
@mymindstorm ...
I propose temporarily (or permanently?) suspending the Prettier CI step until you set up a config file.
@mymindstorm ...
After running
prettier
with the--write
option, I get this fromgit diff --stat
:src/store/Accounts.ts | 79 +++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 41 deletions(-)
Would you like me to commit this? - It will pollute the PR diff a little, I await your decision.
@mymindstorm ...
So ... I was getting a big diff because I was using npx
to run prettier
like this:
npx prettier --check ./src/* ./src/**/* ./src/**/**/* ./sass/*.scss
... without running npm install
, meaning the latest version of prettier (3.3.3
) was being used instead of the package.json
declared 2.2.1
.
The default rules have changed since 2.2.1
. See:
https://github.com/prettier/prettier/blob/2.2.1/src/language-js/options.js
https://github.com/prettier/prettier/blob/3.3.3/src/language-js/options.js
https://github.com/prettier/prettier/blob/2.2.1/src/main/core-options.js
https://github.com/prettier/prettier/blob/3.3.3/src/main/core-options.evaluate.js
@mymindstorm Can you run CI again?
@mymindstorm 📣📣📣
@mymindstorm If you're too busy to work on this project, you think maybe it's time to pass it on to someone who can?
@mymindstorm If you're too busy to work on this project, you think maybe it's time to pass it on to someone who can?
Given the sensitive nature of this project, we aren't going to take into account external calls for new maintainers. We don't want to be the next xz.
Life happens and circumstances require me to put Authenticator on hold outside of high urgency tasks. We appreciate your contributions, and we're working to get them merged as soon as we can.
That was an interesting read, I didn't know about it, but with all due respect, there are probably more good cases of handing over the reins than bad, and the potential risks in unmaintained security software has far greater odds I would guess.
@mymindstorm @Sneezry 🔔 🔔 🔔
The current code ...
Authenticator/src/store/Accounts.ts
Line 90 in 6511920
... fails in these two examples:
The offset (middle value) can be as low as
-300
.Authenticator/src/syncTime.ts
Line 27 in 6511920
So the least you can have is
-241 (59 - 300)
, the+ 60
is not enough to make a positive number.Without this fix, in the examples given above, the effect will be:
Countdown circle animation may be out of sync with the current time step because
animationDelay
will be stuck at0s
.Authenticator/src/components/Popup/EntryComponent.vue
Lines 22 to 29 in 6511920
timeout
class will never activate unlessentry.period < 5
because the left side of the<
condition will be stuck atentry.period
.Authenticator/src/components/Popup/EntryComponent.vue
Line 59 in 6511920