-
Notifications
You must be signed in to change notification settings - Fork 799
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
Forking laverna #971
Comments
Have a decent programming background but I am just learning js and am ready to put in efforts if required to contribute to this project as it has been my goto app for a long time now. As for the name Laverna2.0... Heh. |
@daed Let's try to write @wwebfor && @wwwredfish first. I'm pretty sure they can add every contributors or you to the organization so you can have write access... Can you contact me on keybase (preferred) or on email so I can transmit you the personal email of @wwebfor to you later today (Berlin Time) ? P.S: If you generate new release on your fork I think it may be a good idea to also generate tarballs 😄 |
Yeah, sure. I didn't want to snatch the project out from under anyone. I just wanted to make sure it didn't get left behind. I'm in Central US time. I'll talk to you tomorrow on keybase if i can. |
So, wwebfor got back to me. He's done with the project. He acknowledged that laverna doesn't solve issues with synchronization and multiple devices. He suggested that effort would be better spent focusing on other projects that do already. He also didn't give me access to the repo, so I can't do anything directly with it. I think his concerns are valid, but I like laverna and I think it's worth trying to make something out of. I'm going to continue with my plan to fork it and develop it independent of the laverna organization. I've spent the last few weeks trying to familiarize myself with the dev branch and working on minor bugs where I can. It's honestly not in very good shape right now:
I'd like to talk more about these problems and get recommendations / help on fixing them. I'm going to replicate this issue on my fork at daed#1. I strongly encourage anyone who feels a vested interest in the project to come discuss, and I would like to warn anyone else that this project, as it exists at the Laverna organization, probably will not be updated any further. |
Hi. |
@romu70 That's one of the things I've been grappling with. For whatever reason, I never had the dropbox sync issues I hear everyone complain about and I like the fact that there's no central server. The dropbox method is kind of similar, but I can at least look at my notes and see they are encrypted. If one person or group owns the software and the database such as within a client/server model, it solves a lot of the headaches necessary, but, how do you prove your data really is being properly protected? Public api that you can push already encrypted messages to would be one such way, but that's the furthest thing off in the distance. I was toying around with trying to find a way to provide it any way you want it with a hosted version, a Bring Your Own Server version, and a standalone Desktop version, but that sounds like it's going to be incredibly difficult to support. I feel like the client/server really is the quickest and mostly likely route to the next release, but the further we move toward that, the harder a standalone desktop application is going to be to implement. |
I tend to agree. Client/server is good if you think of your product to be installed on user servers. This way you are quite sure data are private, but the setup is less easy for sure. Regarding the desktop application, I'm not sure this makes things harder, just think about packaging the front end with Electron, and you're almost done. I'm impressed to see people who don't know this code base ready to dig into it. But one can also about an easier path, going to Boostnote which already offers the same thing (DropBox sync), with an already well maintained code base, community, support, etc. Life is too short to reinvent the wheel. |
Boostnote is pretty slick, I'll agree with that. It is much further along and has a whole lot more polish to it. It doesn't handle encryption though (feature request has been open for just under a year), and the footprint of what needs to be installed on a computer seems much heavier than laverna. Laverna can also be used completely from usb and still interact with Dropbox though, even if it's not installed. That's pretty neat too. I think there's a lot worth saving here even in the face of other note tools with more resources than a couple fixated people. |
A simple user here, but Laverna's key feature is zero-knowledge encryption with the strap-line 'Keep your notes private'. Without that I might as well return to Evernote. |
Okay the electron implementation of the laverna front-end was way easier to implement than I thought it would be for the dev branch. It still needs (working) automated build tools, but it's a step in the right direction. @glocalglocal What is your definition of "private"? Is "encrypted but on a server you don't own" considered "private"? I guess in a round-about way, I'm asking if the first one is good enough, or if the second is a requirement to consider the software for use? No wrong answers; I need the user perspective here. |
Choice is always good. So it will definitely be worth the time and effort to fork this project despite there being other mature alternatives. |
Here's what I'm initially thinking will be the most flexible and maintainable compromise: Currently in dev: What I propose for dev: This takes laverna and lets you turn it into anything you want. The three obvious configurations with this scheme that you could choose one of any of:
Note that I use "client" and "ui" above interchangeably. My only real concern is the robustness of sqlite3, especially when synchronizing across dropbox. I've a hunch (and only a hunch) that most of the sync issues people have had with dropbox are api related though, and simply switching to the app / filesystem for dropbox access will cure a lot of those pains. That's a lot to go over, and I'm probably not the best at explaining my thoughts, but questions? Concerns? Comments? |
@daed from a user's perspective, as long as encryption is strong enough and transparent, the db can be stored anywhere and that wouldn't raise privacy concerns for me. I would favour the client/server model (2), with its open source desktop and mobile clients for scrutiny/auditing, and server storage for portability and shareability. Often applications offer the standalone model (3) as an option. Couldn't also the local copy of the db in model 2 be optionally stored in a Dropbox, MEGA etc folder? That would work even if the server disappears forever. On model (1), doesn't client-side encryption/decryption solve the trust problem? eg Lastpass, Bitwarden. That's assuming that what runs on the browser is scrutinised. Model (1) would be convenient in certain circumstances. |
For model 1:
There might be more options, but I'm not sure what they'd be at this point in time. Lastpass / Bitwarden store and obfuscate passwords, I thought. That's an encryption function that could be used in conjunction with this, but it doesn't solve the key management issue. I've never used either, so it's possible that I'm not fully understanding their utility. For model 2: As a general update, I made a proof of concept electron app late last night with the ui and signal server embedded into it and both launching on startup. It's entirely without polish and totally unfit for release, but it has shown me that it was 100% possible to still have model 3 with very little additional effort. I think if we go with the 3 model scheme, I will create packages for a "server" version that contains the laverna ui and server stuff and no electron, as well as a "client" version that will contain the components for everything as well as electron. For the server version, configuration will need to be done by editing files, but it will be capable of providing server-side components for model 1 or model 2, whereas the client version will have a ui configuration page/wizard and be capable of providing components for the client for model 2 as well as the full model 3 implementation. This conversation has been helpful, but remaining on this laverna repo isn't particularly helpful as I can't do anything with it. I'll still check here to see if anyone posts anything new, but if you want to keep talking about this (and I hope everyone does!) I would ask that we do it at mine at daed#1. And thanks, everyone. |
Note, I created this wikipage awhile ago. I have linked to your comment: |
Since PRs aren't getting approved anymore, I think the time has come to either fork this project or abandon it for something that's regularly maintained.
I'm considering doing this as I've already got several of the reported bugs fixed in my dev branch. I'm hardly a JS expert though, so if anyone else is interested in helping, that'd be good.
Should we change the name to avoid confusion? If so, any suggestions on a name?
The text was updated successfully, but these errors were encountered: