Live data from Hacker News

Fossil Chat

fossil-scm.org

61–70 of 172 posts

Re: Fossil Chat

#61
post #2

Does anyone use Fossil? I'm considering it for my personal projects. I like all it offers for the relatively low resource usage. The only use of it I've seen in the wild is Ripcord ( https://dev.cancel.fm/issues ), which is interestingly also relatively low resource usage compared to its competitor.

I use it for any personal projects that are large enough that I want a few pages of documentation and a ticket system to keep track of planned features.

The ticket system can be configured quite a bit, so I usually set it up like a todo list with: “to do, doing, done”.

Re: Fossil Chat

#62
post #35

Earlier quoted context omitted.

Fossil is offline. You sync up when connected and then you have code, issues, wiki, chat that work offline, and sync when connected again. It's not an instant messenger, more like a mail box or a bulletin board. Which works when network is down.

The chat does not sync

There are Forums within Fossil for this kind of thing, though.

Re: Fossil Chat

#64
post #31

Has anyone seen a demo? I tried to created an account to see it live at https://www.fossil-scm.org/home/chat but it appears they have /chat locked down to authorized accounts. (Regardless of what others might be saying in this thread, I think this functionality is great. It reinforces the centralization of your dev related work. Plus, presumably they are using SQLite on the backend - so /chat might result in now addi…

Yes, chat messages are stored in a table in the SQLite DB backing the repository you're chatting about, which allows you to close the browser window when you need some peace to concentrate on work, then revisit the chat room later and see what's been going on while you were away.

As for the dream of making SQLite faster or better, I doubt it. Fossil works best for small teams with projects sized reasonably for those teams, and chat privilege isn't generally given out to the masses. There's only one chat room per repo. Therefore, there simply isn't enough I/O involved to drive much in the way of SQLite changes.

Fossil proper has resulted in SQLite improvements, though, such as the recursive CTE feature added in 3.34.0. That directly supported a feature for tracing the history of files through renames across repository history using a single efficient (though complicated) SQL query: https://fossil-scm.org/forum/forumpost/5631123d66

Re: Fossil Chat

#65
post #29

Reminds me of Unix talk and write. They were so simple when sharing little bits of information with people already logged into the system.

The biggest difference was that write(1) was 1:1, whereas this lets any number of people participate. It's got a bit of formatting control as well, though not full Markdown, alas.

Re: Fossil Chat

#66
post #2

Does anyone use Fossil? I'm considering it for my personal projects. I like all it offers for the relatively low resource usage. The only use of it I've seen in the wild is Ripcord ( https://dev.cancel.fm/issues ), which is interestingly also relatively low resource usage compared to its competitor.

I use Fossil and run a Fossil hosting service called ChiselApp [0].

I've used Fossil for all kinds of projects big (commercial Linux distributions, with installer ISO as the result of the CI/CD pipeline stored as Fossil Unversioned content artifacts) to small (a single file demo), but primarily with only a small number of developers.

[0] https://chiselapp.com/

Re: Fossil Chat

#67

How is the security with Fossil? I'm always leery of hosting (niche) web facing services written in C.

Fossil is a single executable with low system requirements operating on a single SQLite database file, so it's really easy to chroot. It'll even chroot itself if started as root: https://www.fossil-scm.org/home/doc/trunk/www/chroot.md

If you want something more complicated (BSD jails, Docker, etc.) the same properties make it easy to box up that way instead.

Re: Fossil Chat

#68

How is the security with Fossil? I'm always leery of hosting (niche) web facing services written in C.

It's a fair question. I need to better document the security features built into Fossil. Here is a quick off-the-top-of-my-head summary:

(1) Fossil is designed to run inside a minimal chroot jail. The stand-alone "fossil" binary needs its repository database file, /dev/null, and /dev/random and nothing else. It can run inside a sparse jail. So even if somebody manages to find an RCE in Fossil, the damage potential is limited. They cannot shell-out because there is no /bin/sh in the jail.

(2) Fossil processes each HTTP request in a separate process.

(3) Custom static-analysis tools run over the Fossil sources at compile-time, and abort the built if any problems are seen. The source code and docs to these tools is in the Fossil source tree.

Re: Fossil Chat

#69
post #37
post #2

Does anyone use Fossil? I'm considering it for my personal projects. I like all it offers for the relatively low resource usage. The only use of it I've seen in the wild is Ripcord ( https://dev.cancel.fm/issues ), which is interestingly also relatively low resource usage compared to its competitor.

I avoid it because of complete lack of commit amendment tools. It seems like quarter of the time I make a commit I mess up either a commit message or a file list, and have to "git amend". I have no idea how the sqlite devs live without the feature, they must be much more careful programmers than I am.

There has pretty much always been a way to amend commits -- the difference is in Fossil this amendment is done by writing a new journal entry (artifact) noting which commit is being amended and how, rather than modifying the commit directly.

Generally, the compiled version (base+resultant set of amendments) is displayed to the user, but the entries which modified the commit are also available to be seen.

Re: Fossil Chat

#70
post #56
post #53

Earlier quoted context omitted.

Thanks for the demo server, exikyut. Maybe: Go to the Setup/Access page and select the "Allow users to register themselves" checkbox, and add permission "C" to "Default privileges". Then press Apply. With that setup change, users will have a "Create New Account" button on the login page.

:O hi! Done, that's a really cool feature.

Newly registered users still don't have access to chat. I think if you add the "C" privilege to the generic "reader" user, that will solve the problem.
Post reply on HN