about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* term: add outputSixelImage bounds checksbptato2024-09-041-3/+12
| | | | Makes it so we don't crash the entire browser upon encoding failure.
* sixel, stbi, sandbox: fix fstat sandbox violationbptato2024-09-042-2/+26
| | | | | | | Until recently, glibc used to implement it as fstatat. So don't trap for fstatat (and for consistency, fstat), but return EPERM. Just to be sure, rewrite sixel & stbi to never call fread.
* bindings: remove zlibbptato2024-09-041-79/+0
| | | | unused
* loader, client, buffer: use selectInto (not select)bptato2024-09-033-9/+13
| | | | select allocates. (makes sense, but I never realized...)
* loader: fix crashes with kqueue backendbptato2024-09-032-4/+23
| | | | | | | pain... (also, fix an fd leak, plus a more general bug where we registered empty output handles.)
* cascade: add missing nil checkbptato2024-09-021-1/+1
|
* loader: fix some fd leaksbptato2024-09-024-11/+37
| | | | + be a bit more paranoid about double closes
* Update chagashibptato2024-09-011-1/+1
|
* pager: fix missing gotoLine return valuebptato2024-09-011-0/+1
|
* canvas: make sure we don't link to QJSbptato2024-09-019-186/+163
|
* url: reduce idna sizebptato2024-09-011-7/+10
| | | | | Instead of storing pointers to cstrings, put all of them in a single huge string and store indices of that.
* path: fix swap bug, refactor linesbptato2024-09-013-19/+21
|
* canvas: move to separate CGI scriptbptato2024-09-0118-359/+413
| | | | | | | | | | * stream: and passFd is now client-based, and accessible for buffers * Bitmap's width & height is now int, not uint64 * no more non-network Bitmap special case in the pager for canvas I just shoehorned it into the static image model, so it still doesn't render changes after page load. But at least now it doesn't crash the browser.
* layout: fix table height constraint typebptato2024-08-301-1/+9
| | | | | it's really min-height, not height; consistency is not CSS's strong suit...
* term, sixel: misc image fixes, sixel optimizationbptato2024-08-301-15/+24
| | | | | | | | * expand allowed color range somewhat * update maximum sixel size on window resize * fix kitty image cropping * use faster algorithm for sixel compression (also produces less wasteful output)
* sixel: minor optimizationsbptato2024-08-281-1/+3
| | | | | | * don't emit transparency request when we don't need it * add lookup table for missing hash entries * write(2)'ize
* sixel, term: fix off-by-1's in croppingbptato2024-08-281-50/+36
| | | | & clean up outputSixelImage in general
* term: fix crash on identical stacked imagesbptato2024-08-271-1/+3
| | | | | | | in fact, we consider these to be the same image, and arguably that's a bug in and of itself. but at least we don't crash anymore. (also, update todo)
* pager: fix nav direction after view sourcebptato2024-08-271-0/+1
|
* dom: toBlob fixesbptato2024-08-251-20/+7
| | | | | | | | | | * fix return type * don't choke on empty bitmaps * don't check for Cha-Image-Dimensions in encoder output (it was unused anyways) Mainly so that I can spec the encoder without Cha-Image-Dimensions as an output header - it's pointless redundancy.
* sixel: break out into a separate cgi scriptbptato2024-08-243-132/+150
| | | | | | | | This caches sixel output. Works best when the line height is a multiple of 6px, but should still be faster than the previous solution everywhere else too (simply by virtue of encoding separate images in parallel). Next step: actual color quantization
* layout: fix whitespace weirdnessbptato2024-08-231-1/+3
| | | | | avoid adding whitespace to the previous atom if it's not on the current line
* winattrs: un-snakeifybptato2024-08-237-18/+18
|
* cssvalues: fix broken vmin, vmaxbptato2024-08-231-2/+2
|
* Update monouchabptato2024-08-221-1/+1
|
* loader: fix crash on empty data URLsbptato2024-08-171-1/+8
|
* term: don't panic if termcap tgetent failsbptato2024-08-173-85/+110
| | | | | | | | If TERM is unrecognized by termcap, retry as dosansi. When that fails, just fall back to the non-termcap code path. (There is no reason to panic without termcap; it's just one of the several capability detection mechanisms we use.)
* buffer: fix some hover weirdnessbptato2024-08-151-7/+7
| | | | | | | | Setting the new hover value before unsetting the previous one would unset the new hover value for nodes in the same branch. In particular, this broke hover when moving the cursor from a pseudo element (e.g. ::before) to its parent.
* dom, xhr: slight progress on modules, fix an XHR bugbptato2024-08-155-59/+118
| | | | | | * actually download & compile modules (but don't run them yet) * fix a bug in XHR (on some older Nim versions, move() doesn't actually move)
* xhr: more progressbptato2024-08-1510-87/+194
| | | | | | | | | | * add responseText, response * add net tests -> currently sync XHR only; should find a way to do async tests... * update monoucha -> simplified & updated some related code that no longer worked properly
* xhr: progressbptato2024-08-137-85/+214
| | | | | | | | | | | | | * fix header case sensitivity issues -> probably still wrong as it discards the original casing. better than nothing, anyway * fix fulfill on generic promises * support standard open() async parameter weirdness * refactor loader response body reading (so bodyRead is no longer mandatory) * actually read response body still missing: response body getters
* mailcap: fix weird error handlingbptato2024-08-131-19/+13
| | | | | | * don't accept flags specified as named fields * don't error out on named field specified as flag * allow trailing whitespace on named fields & flags
* mailcap: various fixesbptato2024-08-112-43/+32
| | | | | | * parse last line even if it doesn't end with LF * parse flags & named fields case-insensitively * update naming
* dom: remove generic JS bindingsbptato2024-08-119-135/+156
| | | | Dispatch manually with fromJS instead.
* dom: fix crash on wrong image content typebptato2024-08-113-5/+10
| | | | + slightly optimize getContentType
* pager: fix incorrect error message in rewrite-urlbptato2024-08-101-3/+6
| | | | It did not actually break rewrite-url, but was still annoying.
* twtstr: don't cast in parseEnumbptato2024-08-091-2/+2
| | | | Nim 1.6 does not like it.
* sandbox: allow ugetrlimitbptato2024-08-091-0/+1
| | | | called on armhf
* pager: fix <select> drawing after container redrawbptato2024-08-092-1/+3
|
* Update monouchabptato2024-08-091-1/+1
|
* Update monouchabptato2024-08-0925-266/+276
|
* loader: move back data URL handlingbptato2024-08-033-9/+54
| | | | | | | data URIs can get megabytes long; however, you can only stuff so many bytes into the envp. (This was thwarting my efforts to view pandoc- generated standalone HTML in Chawan.) So put `data:' back into the loader process.
* endians: removebptato2024-08-031-39/+0
| | | | was only used by the PNG decoder which got replaced by stbi
* cssvalues, color: use parseEnumNoCase morebptato2024-08-033-254/+230
|
* cssvalues, sheet: fix some more case sensitivity bugsbptato2024-08-023-18/+6
|
* cssvalues, twtstr, mediaquery: refactor & fixesbptato2024-08-025-438/+342
| | | | | | | * cssvalues, twtstr: unify enum parsing code paths, parse enums by bisearch instead of hash tables * mediaquery: refactor (long overdue), fix range comparison syntax parsing, make ident comparisons case-insensitive (as they should be)
* Update Chagashibptato2024-08-011-1/+1
|
* env, dom: add History stub, basic LocalStoragebptato2024-07-302-0/+78
| | | | | | | * History: doesn't really do anything, just adding it to fix some pages * LocalStorage: kind of works, but does lookups with linear search, and the quota limitation is on the number of entries not their size. plus it doesn't actually store anything on disk yet (like cookies).
* console, client: optimize console.log (etc.)bptato2024-07-302-18/+39
| | | | use JSValue varargs instead
* term: constify queriesbptato2024-07-301-3/+15
| | | | | + also send register & image dimension queries in forced sixel mode, and image dimension query on window resize