How minimalist should Dillo be?
I want to improve Dillo in a bunch of ways, most urgently by adding support for the "expires" HTTP header field, and improving the HTML/CSS rendering. I'm worried, though, that if I submit a huge patch to do one of these things it'd get rejected for not being minimalist enough. DilloNG (which is abandoned) and Dillo+ are both hosted on GitHub, and I'd rather not use that site. I don't want to fork the browser and deal with all the overhead of hosting and distribution. And I definitely don't want to write my own browser from scratch. My question is, would substantially fleshing out the layout and style engines be seen as going against the spirit of Dillo? Would it push too far against the 1.44MB limit?
256@256-32.com wrote:
My question is, would substantially fleshing out the layout and style engines be seen as going against the spirit of Dillo? Would it push too far against the 1.44MB limit?
It's important to keep Dillo as lean as possible for sure, but at this point 1.44MB seems completely arbitrary. If it's getting in the way of real progress, then it's self-defeating to keep that limit. Speaking as someone who has various vintage computers with floppy drives (some of which even run Dillo), I wonder if there is a single person in the world who actually NEEDS to use floppy disks to transport the source code, even in the most impoverished / low-tech areas. In any case, they could transport the source on TWO floppies instead! The idea of poor kids in sub-saharan Africa using Dillo on ancient computers is cute, but they are all probably using smartphones now. (I don't speak for the Dillo project, this is just my personal opinion) Regards, Alex
Hi, I will be unable to work on Dillo or reply for the next weeks, probably around mid-October I can come back. On Fri, Sep 25, 2026 at 05:09:47PM +0100, 256@256-32.com wrote:
I want to improve Dillo in a bunch of ways, most urgently by adding support for the "expires" HTTP header field, and improving the HTML/CSS rendering. I'm worried, though, that if I submit a huge patch to do one of these things it'd get rejected for not being minimalist enough.
The current blocker from implementing this is the infrastructure to test that new features work fine. I wrote dilloc with this kind of tests in mind so we can do more complicated HTTP tests and see if it works properly. Until we don't have the tests I don't think I want to implement new features we cannot test (other than manually). I'll suggest implementing first the tests that fail due to unsupported cache support. Take a look at https://github.com/dillo-browser/testsuite (pending to be moved to our server) and see if there is something in WPT that we can reuse to test dillo (without JS). We can merge the failing tests first, then focus on the implementation in dillo for expires and other headers and check that the test pass. In the testsuite we can use python or other high-level tools that make writing tests easier than C (that is why it is separated from the dillo code).
My question is, would substantially fleshing out the layout and style engines be seen as going against the spirit of Dillo?
The layout engine has nothing to do with expires. I would recommend not touching the layout engine for now (mostly for the same reason, lack of tests).
Would it push too far against the 1.44MB limit?
It is unlikely that you will pass that limit with handwritten code, as gzip will compress your code with the current codebase. Don't worry too much about that, there are stuff pending to be removed that will make some room and I have some provisions to make more room if that limit is reached. Thanks!, Rodrigo.
Thank you for replying. I'm aware you're busy, so please don't feel obligated to respond immediately; this thread will still be here in October. On Sat, Sep 26, 2026 at 02:05:34PM +0200, Rodrigo Arias wrote:
I'll suggest implementing first the tests that fail due to unsupported cache support. Take a look at https://github.com/dillo-browser/testsuite (pending to be moved to our server) and see if there is something in WPT that we can reuse to test dillo (without JS).
I've had a quick look through the WPT repository. It has some caching-related HTTP tests, but seemingly not that many that are relevant to Dillo. I'm tempted to write my own HTTP testing system; I've already done so before, although that was for a server rather than a client. Maybe I'll adapt some things from WPT.
The layout engine has nothing to do with expires.
I'm aware, I mentioned it as a separate thing.
participants (3)
-
256@256-32.com -
a1ex@dismail.de -
Rodrigo Arias