I need to preface this by saying that I have the utmost respect for all contributors to org-roam (especially @jethro) and am thankful to all of those investing time and effort into this community.
After yet another afternoon of trying to get v2 to work for me, I just rolled back all changes. While the specific reasons vary between my attempts and are something for a different post (this time: stability, design & functions of the new roam buffer, the design of org-roam-graph, incompatibilities with org-add-link-type etc), here I wanted to pose a different set of questions:
What are the long term negative consequences of staying on v1? Or, in order to give this a more positive spin, what are killer features of v2 that should motivate people like me to migrate? I really like the side-buffer design of v1, do not (intend to) use nodes and am sceptical about filetags.
I have just short of 1800 notes and V1 works flawlessly for me. It has been the main reason I explored Emacs and continue to do so.
You can consider V1 feature-complete and if you don’t really update dependency packages, you may have a long way until you experience any breaking changes.
You can consider this as a good thing; great stability.
I need to be careful not to overstate this one potential (unconfirmed) drawback: performance. I reported my quick benchmarks long ago on V1 on Windows.
My observation is that performance degradation is linear — that is, when you have 10k notes, it’s roughly x10 slower than 1k notes.
I don’t have data for V2, but I take Jethro’s word for it when he says its DB performance is better — I believe this is because the way he constructed SQL queries for both saving to and reading from DB.
If you are on Linux, I believe Linux would scale better. And you may not experience bad performance even when you have 5K notes. This might also depend on how many links you will have — my benchmark really could not test many links.
For ongoing maintenance of V2, you may benefit from (potential) further tuning. This is only speculation and might well be an empty comparison with V1. That is, you may not experience much performance difference on V1 or V2 anyway (depending also on your hardware, etc.)
For me, it’s not necessarily features but “simplicity” of the internals. V2 seems to present more consistent APIs for tinkerers among us in the community. Probably not a perspective you are going for… For the daily usage, I feel it offers equivalent features — I don’t experience any inconvenience that you experience. “It just works” for me.
A big driving factor for me was the emphasis on IDs as the defining feature of a node. If a a header within a file has an ID, it is treated as a node. That means when I look for nodes, it will bring up even deeply nested headers. I like this because I choose to structure some of my org-roam files as outlines (not atomic zettels). This allows atomic notes to do-exist with longer-form writing.
Performance is a very good point to keep in mind. Right now I add about three notes per day and the number of backlinks is probably ten times the number of my notes. Org-roam has become a tiny bit slower since last year - but still is very fast. Btw, I am running this on two slow and/or old Macs (one MBP 15" from 2015 and the slow 2-port MBP 13" from 2018). For comparison: a smaller amount of notes slowed down Tinderbox much more and repeatedly crashed it. I cannot use Deft or even Org Agenda with all of my notes.
True, tinkering with the internals is not a priority for me. I probably am hitting many edge cases here as I have built my Emacs setup with v1 at its core.
This needs to go in a separate post but my problems with v2 generally fall into three categories: issues related to the install and/or bugs, issues related to the design (for example, the new org-roam buffer is less discoverable - in the first minutes I had no idea how to open backlinks) and issues related to missing features (org-roam-graph is not yet usable in this version).
Is there a great configuration I can start from? Using the one from System Crafters, I got a warning for the line with org-roam-setup. Neither the manual, the wiki nor Github seem to have basic configurations. Subjectively, v2 feels a bit as if targeted primarily at tinkerers and very proficient users of Emacs/Lisp.
It does not seem that I miss anything from v2 (except, potentially, performance and updates) and v1 just works, hence this post.