I am currently hacking on darcs annotate to make it faster. We had a case at work where we had a very big patch in a 15000 lines file. This crashed darcs annotate (out of memory). I fixed the leak but it was still extremely slow.

I believe the index is used to determine the initial sequence of patches that touch the file or its name in some way. But we also have to find out which patch last modified which line and that (I think) cannot be done with the index.

Heffalump: while I did that I tried to understand how this works with the apply interface. I think this may be more complicated than necessary. we abstract over the ApplyState event though every use of ApplyMonad is with ApplyState p ~ Tree.

sm: I tried changing "Extra-Libraries: crypto ssl" to "Extra-Libraries: ssl crypto" in HsOpenSSL.cabal and using that HsOpenSSL, but I don't think it had any effect. Possibly the ordering of the Extra-Libraries array is meaningless anyway.

Heffalump: I like generic code, too, and for the same reason. However, there is a point where it begins to hurt (me) and that is usually when type inference breaks down and/or type signatures become large and complicated.

Heffalump: it's not currently hurting me very much. But when i worked recently on some UI/Commands code i was almost dispairing because I couldn' get the typing right. That was something to do with Sealed and RepoJob but I forgot the details

Cthulhux: This would all inform how the mobile version of darcshub should work. I'm thinking about using Material Design Lite for the mobile view, but changing the colorscheme to make it look more like the desktop browser darcshub.

Cthulhux: Now that you mentioned a header bar (good idea!) and I looked at a darcsden repo page, I noticed the available sidebar buttons change with respect to the sidebar button that was just clicked.