Comments (6)
@quintushr I suspect the issue will be in this method: https://github.com/buttercup/buttercup-core/blob/master/source/facades/vault.ts#L74
It's been around a long time, but it's definitely high time we fixed it π - There's good test coverage there so it should be safe to modify for a fix, and then potentially test such a fix.
from buttercup-desktop.
I have started looking into this bug. I can reproduce it, but I don't yet understand where it comes from. I suspect the core is returning changes that do not include deletions and only when a new field is saved.
Feel free to let me know if you need any adjustments or further assistance!
from buttercup-desktop.
@perry-mitchell I added a test (buttercup/buttercup-core@f6231fa), but it works and does not reproduce the bug.
Do you have any ideas?
from buttercup-desktop.
@quintushr Hmm, did you try with only a single vault consume call? Doing everything in one working state before consuming the facade to process changes?
The desktop does it all in one, for instance. I also partially suspect the UI portion of being the culprit here, but this is good work as we need to narrow it down anyway.
Another way of looking at this is making the change in the desktop while debugging and logging what is actually being sent to the consume method - then see if you can/need to replicate that in the test. It may very well end up being a UI bug.
from buttercup-desktop.
@perry-mitchell I think I know the source of the problem, but I don't understand where it occurs in the core. Indeed, in the desktop version, after creating an attribute, any changes involving deletions disappear, which is why the fields reappear.
I'm sorry for my slowness; I'm not very familiar with the environment and Electron, which makes the task more difficult for me, and I am having trouble with the architecture.
Thanks again for your help.
from buttercup-desktop.
Thanks @quintushr - that sounds about right. There's some questionable logic in the core for resolving "missing" properties and how to handle them. It needs to decide if they're missing intentionally or if it's a merge and they should be added.
Completely fine- it's not a small codebase and the health of some of the code has deteriorated. I'm working on bringing it up to date to make it easier to contribute, but it's a long process.
I'm currently working on fixing the release process due to code signing changes and after that I'll try to help here if I can.
from buttercup-desktop.
Related Issues (20)
- Vault Unlock popup may be confusing at time and could be improved by adding the vault's name
- Unable to update from v2.26.3 HOT 5
- Proxy support HOT 1
- Issue with v2.27.0 update HOT 1
- Custom fields looks bad HOT 3
- Getting constant epipe issues on ubuntu 22.04 with the app image. HOT 1
- 2.6.2 on ipad - Since update canβt access Password file on Google Drive HOT 13
- Usability: The copy button should be visible without needing to hover
- Usability: The should be shortcuts to copy the username and password HOT 1
- Security: It should be possible to have a multiline field that is hidden by default HOT 1
- Search All functionality HOT 1
- Enter and Escape Functionality
- Feature: Drag and Drop
- Feature: Multiselect
- Bug on IOS : App crashin when switching tabs HOT 1
- How to start the application from a batch file without having to provide input ?
- Feature request: duplicate an item HOT 1
- Hardware token: Initial support (static password)
- Feature Request: reference another password field
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from buttercup-desktop.