| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
submodule has been unused for a while now, should be OK to remove it.
I've also gotten tired of the tables on the man page being borderline
unreadable, so I've hacked some borders onto them. Ugly, but works.
|
|
|
|
|
|
|
|
| |
We often redo sub-layouts in layout, and this makes stacking contexts
very hard to build reliably there.
This fixes a bug where positioned descendants of flex items would
sometimes mysteriously disappear.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Unfortunately this is unavoidable, as some servers still seem to return
brotli despite our Accept-Encoding header not including it.
|
| |
|
|
|
|
|
|
| |
Turns out the cure was worse than the disease. Let's just make it a
backwards incompatible change, so that at least the error message is
no longer nonsensical.
|
|
|
|
|
| |
I think it works well enough at this point.
If it doesn't, somebody will complain :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[[siteconf]] now just means [siteconf.0], etc. So you can now override
parts of default siteconfs/omnirules, e.g. to change the Google search
substitute-url, etc.
To celebrate this, I've added some more default search engines:
* wk: -> Wikipedia
* wd: -> Wiktionary
* ms: -> Marginalia Search
These can be replaced by setting e.g. omnirule.wk = {}, etc.
Also, siteconf = {} can be used to clear pre-defined siteconfs.
This is an unfortunate deviation in semantics from TOML, but in practice
the way it worked before didn't match the spec either, so at least it
is now consistent.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
ok so apparently you can leave out the semicolon, but *only* if the at
rule is at EOF
|
|
|
|
|
| |
I'm not 100% content with this syntax either, but it's a significant
improvement over the previous solution.
|
|
|
|
|
|
|
|
|
|
| |
Well, it's not much prettier... but it will be useful for keep-alive.
(Hopefully.)
Also, loader could now be locked down capsicum/pledge/seccomp, but I'm
not sure if there's a point. The biggest potential threat it faces is
cross-contamination of handles, and no amount of syscall filtering is
going to protect against that.
|
| |
|
| |
|
|
|
|
| |
ref. https://todo.sr.ht/~bptato/chawan/43
|
|
|
|
| |
Ugly, but works. I think.
|
|
|
|
|
| |
Dump mode remains the same, except now it can be controlled in
config.toml as well.
|
| |
|
| |
|
|
|
|
|
| |
They can be especially distracting when the rounding error fluctuates
between items.
|
| |
|
|
|
|
|
| |
This means we can now use about:downloads for downloads.
Plus it shaves off some ks from the distribution.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Particularly useful when debugging minified JS.
vi always wraps; the centering behavior is from vim.
|
|
|
|
|
| |
I got tired of submodules.
This commit doesn't build; subtrees incoming...
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and once again, there was light...
Well, it barely works, but it's enough to get colors back on most sites.
Nested variables aren't supported for now, and shorthand expansion only
"works" for `background' (it's a hack).
Props to the W3C for introducing the C preprocessor to CSS - I was
starting to confuse it with JSSS after calc().
|
| |
|
| |
|
|
|
|
|
|
| |
We already need a camel -> kebab converter anyway.
Unfortunately this also changes JS binding names, so it's a breaking
change. Oh well.
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just pass through a socket created in pager.
This removes the need for a socket directory, and strengthens the buffer
sandbox slightly.
I've kept the ServerSocket code, because I want to add some form of RPC
and communication between separate instances in the future. However,
I don't expect this to be handled outside the main process, so I've
removed the Capsicum-specific connectat/bindat code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, each message (load, resume, passFd, etc.) would open a new
connection to loader's UNIX socket, and assumed the loader was dead
when the loader did not respond (ECONNREFUSED).
As it turns out, this model was hopelessly broken: POSIX does not
specify when a UNIX socket can refuse connections, so while it happened
to work on Linux (which just blocks if it can't accept right now),
FreeBSD would randomly refuse connections whenever its listen queue was
full.
Instead, we now take a socketpair() from the loader in addClient, and
pass on one half to the client (the other half stays in loader); this is
the control stream, and all messages from the specific client are sent
through it. If a message includes a new stream (e.g. lcLoad), then it
sends a new socketpair through the control stream.
Aside from not being completely broken (and being marginally more
efficient), this arrangement has several other benefits: it removes the
need for authentication, almost removes the need for sockdir (now only
buffers use it), and will make it easier to add async message processing
in the future.
|
| |
|
|
|
|
|
|
|
|
| |
Only root blocks for now; for non-roots, you'd have to cache exclusions
too, and that is a fair bit harder.
It isn't very noticable as an optimization, but it's a good first step
towards a cached layout.
|
|
|
|
|
|
| |
It works by emitting a base64 URI inside an img tag.
Very inefficient, but useful if no external viewer is set up
(e.g. over SSH).
|