Skip to content

[FIX] Seconds not properly prevented from being negative#1310

Open
olfek wants to merge 6 commits into
Authenticator-Extension:devfrom
olfek:patch-1
Open

[FIX] Seconds not properly prevented from being negative#1310
olfek wants to merge 6 commits into
Authenticator-Extension:devfrom
olfek:patch-1

Conversation

@olfek

@olfek olfek commented Sep 17, 2024

Copy link
Copy Markdown

The current code ...

second += Number(UserSettings.items.offset) + 60;

... fails in these two examples:

0 - 61 + 60 < 0
59 - 120 + 60 < 0

The offset (middle value) can be as low as -300.

if (Math.abs(offset) <= 300) {

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 at 0s.

<svg viewBox="0 0 16 16">
<circle
cx="8"
cy="8"
r="4"
v-bind:style="{
animationDuration: entry.period + 's',
animationDelay: (sectorOffset % entry.period) + 's',

timeout class will never activate unless entry.period < 5 because the left side of the < condition will be stuck at entry.period.

timeout: entry.period - (second % entry.period) < 5,

@olfek

olfek commented Sep 17, 2024

Copy link
Copy Markdown
Author

Requesting review @Sneezry @mymindstorm

@mymindstorm

Copy link
Copy Markdown
Member

It's on my to-do list, but might take me a while to get to this

@olfek

olfek commented Oct 4, 2024

Copy link
Copy Markdown
Author

🛎️🛎️🛎️ @Sneezry @mymindstorm

@olfek

olfek commented Oct 19, 2024

Copy link
Copy Markdown
Author

@mymindstorm 📟📟📟

@mymindstorm mymindstorm left a comment

Copy link
Copy Markdown
Member

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!

Comment thread src/store/Accounts.ts Outdated
Co-authored-by: Brendan Early <mymindstorm@evermiss.net>
@mymindstorm

Copy link
Copy Markdown
Member

It looks like I don't have permission to push to your branch to fix the lint issues.

image

@olfek

olfek commented Oct 21, 2024

Copy link
Copy Markdown
Author

@mymindstorm I've added you as a collaborator.

@olfek

olfek commented Oct 21, 2024

Copy link
Copy Markdown
Author

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.

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@mymindstorm I think we're good to go here

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@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.

@mymindstorm

Copy link
Copy Markdown
Member

That doesn't seem right, have you tried running npm run chrome? It will automatically format it using our configs.

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@mymindstorm You have collaborator access to my fork, can you take over from here?

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@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)

@mymindstorm

Copy link
Copy Markdown
Member

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.

@mymindstorm

Copy link
Copy Markdown
Member

I'll get to this when I can just am extremely busy.

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@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.

@olfek

olfek commented Oct 23, 2024

Copy link
Copy Markdown
Author

@mymindstorm ...

I propose temporarily (or permanently?) suspending the Prettier CI step until you set up a config file.

@olfek

olfek commented Nov 8, 2024

Copy link
Copy Markdown
Author

@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.

@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

@olfek

olfek commented Nov 8, 2024

Copy link
Copy Markdown
Author

@mymindstorm Can you run CI again?

@olfek olfek mentioned this pull request Nov 8, 2024
@olfek

olfek commented Nov 18, 2024

Copy link
Copy Markdown
Author

@mymindstorm 📣📣📣

@olfek

olfek commented Dec 1, 2024

Copy link
Copy Markdown
Author

@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

mymindstorm commented Dec 2, 2024

Copy link
Copy Markdown
Member

@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.

@olfek

olfek commented Dec 2, 2024

Copy link
Copy Markdown
Author

@mymindstorm

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.

@olfek

olfek commented Mar 13, 2025

Copy link
Copy Markdown
Author

@mymindstorm @Sneezry 🔔 🔔 🔔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants