GlitterWare / Passy

Offline password manager with cross-platform synchronization
https://glitterware.github.io/Passy/
GNU General Public License v3.0
142 stars 22 forks source link

[Bug]: after activating argon2 derivation, i can no longer modify my passwords #79

Closed umlaeute closed 11 months ago

umlaeute commented 11 months ago

Bug description

today i've upgraded to passy-1.7.0 on both my mobile (f-droid) and my laptop (flatpak). i've activated "Argon2" key derivation, and ran a synchronization between the two devices, which worked nicely.

after that, I've changed one of my password entries on the laptop (it previously only had a 2FA setup, and an empty password; i've now also added a proper password), which resulted in:

at some point, passy would simply crash (see stderr below).

the "several seconds" where the progress bar is displayed, range from ~3 seconds to something that feels like a minute.

Expected outcome

i expected that the new password would be added to the entry.

Steps to reproduce

No response

Error log

$ flatpak run io.github.glitterware.Passy

(passy:2): Gdk-CRITICAL **: 18:43:00.126: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
flutter: FileSystemException: Cannot open file, path = '/home/<<<USER>>>/Documents/Passy/accounts/<<<USER>>>/favorites.enc' (OS Error: Too many open files, errno = 24)
flutter: #0      _File.throwIfError (dart:io/file_impl.dart:675)
flutter: #1      _File.openSync (dart:io/file_impl.dart:490)
flutter: #2      _File.readAsBytesSync (dart:io/file_impl.dart:574)
flutter: #3      _File.readAsStringSync (dart:io/file_impl.dart:624)
flutter: #4      EncryptedJsonFile.reloadSync (package:passy/passy_data/encrypted_json_file.dart:54)
flutter: #5      LoadedAccount.reloadFavoritesSync (package:passy/passy_data/loaded_account.dart:880)
flutter: #6      _PasswordScreen.build (package:passy/screens/password_screen.dart:155)
flutter: #7      StatefulElement.build (package:flutter/src/widgets/framework.dart:5409)
flutter: #8      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5297)
flutter: #9      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5462)
flutter: #10     Element.rebuild (package:flutter/src/widgets/framework.dart:5016)
flutter: #11     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2779)
flutter: #12     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:916)
flutter: #13     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:360)
flutter: #14     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1297)
flutter: #15     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1227)
flutter: #16     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1085)
flutter: #17     _invoke (dart:ui/hooks.dart:170)
flutter: #18     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:401)
flutter: #19     _drawFrame (dart:ui/hooks.dart:140)

App version

v1.7.0 - Better Synchronization

Submission checklist

GleammerRay commented 11 months ago

Duplicate of #80.