| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
;_;
|
|
|
|
| |
reduces images spilling out of their containers
|
|
|
|
|
|
|
|
|
|
|
| |
With many limitations:
* slightly randomized expiry, so it's harder to fingerprint
* only images. so e.g. CSS is still left uncached
* it's per-buffer and non-persistent, so images are still redownloaded
for every new page load
so it's more of an image sharing between placements than true caching.
|
|
|
|
| |
I doubt this is correct, but at least it's less broken than previously
|
| |
|
| |
|
|
|
|
|
|
|
| |
Mainly things you could already set with [[siteconf]] but not normally.
Also, a `styling' option to disable author styles.
Also, `images' is now documented as an "experimental" option, since it's
halfway usable now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* resize images with stb_image_resize
* use tee for output handle redirection (redirectToFile blocks)
* cache original image files
* accept lseek in sandbox
* misc stbi fixes
For now, I just pulled in stb_image_resize v1. v2 is an extra 150K in
size, not sure if it's worth the cost. (Either way, we can always switch
later if needed, since the API is almost the same.)
Next step: move sixel/kitty encoders to CGI, and cache their output in
memory instead of the intermediate RGBA representation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix text-align breaking down in the presence of floats
* improve (and simplify) background color area painting
This greatly simplifies inline layout by removing the additional
text-align atom movement code and replacing it with a full re-layout
when needed. That re-layout only occurs in (rare) cases where the text
is likely to be relatively short anyway, so it's probably a win in any
remotely realistic layout.
This has also made it possible to at last merge the last three passes
(horizontal/vertical alignment and background painting) and drop that
weird synchronized tree + vector traversal.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
There is no guarantee that iclose is called exactly at rsBeforeStatus
or rsBeforeHeaders.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* merge select into container
* avoid unnecessary redraws in draw() for parts of the screen that
haven't been updated
* various image redraw fixes
|
|
|
|
|
|
| |
* basic repaint algorithm for sixel (instead of brute force "clear the
whole screen")
* do not re-send kitty images already on the screen
|
| |
|
| |
|
|
|
|
|
|
| |
* preserve alpha in kitty + simplify encoder
* pass unknown image types to stbi (as image/x-unknown) and let it
detect the type
|
|
|
|
|
|
|
| |
Now we have decoders for gif, jpeg, bmp. Also, the in-house PNG decoder
has been replaced in favor of the stbi implementation; this means we
no longer depend on zlib, since stbi comes with a built in inflate
implementation.
|
|
|
|
| |
we no longer crash on broken codecs. yay
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* multi-processed and sandboxed PNG decoding & encoding (through local
CGI)
* improved request body passing (including support for output id as
response body)
* simplified & faster blob()/text() - now every request starts
suspended, and OngoingData.buf has been replaced with loader's
buffering capability
* image caching: we no longer pull bitmaps from the container after
every single getLines call
Next steps: replace our bespoke PNG decoder with something more usable,
add other decoders, and make them stream.
|
| |
|
| |
|
|
|
|
|
|
| |
* simplify processData
* set document charset on creation
* update chagashi
|
| |
|
|
|
|
| |
this one is weird but I'm sure the standard is technically right
|
|
|
|
|
|
|
|
| |
ok we block if:
* method is not GET
* scheme is different
* it is not the case that both the current and the target schemes are
http/s
|
|
|
|
| |
bleh
|
|
|
|
| |
the Option setup hasn't made much sense for a long time now
|
| |
|
|
|
|
| |
naturally, it's opt-in
|
|
|
|
|
|
| |
* refactor form submission
* add options to specify form handling per protocol
* block cross-protocol POST requests
|
|
|
|
|
|
|
|
|
| |
* prepend Mozilla/5.0 to User-Agent; an unfortunate fact is that even
the G-lettered search engine breaks without it, and I've seen sites
that refuse to serve pages at all.
* Add */* to Accept, in the hope that we'll get images more often. (The
ideal solution is to set it to "*/*" when fetching images, but the
API format doesn't let us do this yet; TODO.)
|
|
|
|
|
|
|
|
|
| |
* gitcha stash list special processing
* gitcha switch no longer opens the branch view; it is now opened by
gitcha branch
* make gitcha branch UI consistent with the rest of the script. (the
idea is that clicking on refs does not modify the repo, only action
links like (switch) or (apply).)
|
| |
|
|
|
|
|
|
| |
Not very useful yet; partial layouting and/or a new renderer is probably
necessary to replace the current FormatCell-based node placement,
otherwise it will be unbearably slow.
|
|
|
|
| |
Operation "modularize Chawan somewhat" part 3
|
|
|
|
|
|
|
| |
It's easier to just use nested seqs here.
(This also fixes reverse-search highlighting the last capture group
instead of the whole match.)
|
|
|
|
|
|
| |
Interface:function -> Interface.function
for consistency with regular JS syntax
|
| |
|