about summary refs log tree commit diff stats
path: root/todo
Commit message (Collapse)AuthorAgeFilesLines
* md2html: support blockquotebptato2024-08-301-1/+0
| | | | + update todo, readme
* term: fix crash on identical stacked imagesbptato2024-08-271-2/+2
| | | | | | | 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)
* cssvalues, sheet: fix some more case sensitivity bugsbptato2024-08-021-1/+0
|
* client, sandbox: fix termux buildbptato2024-07-241-0/+1
| | | | | Still not perfect, because it crashes on missing /tmp dir so you have to manually set it...
* dom: fix race condition in image loadingbptato2024-07-211-2/+0
| | | | | | We were not setting the invalid flag on bitmap load, so any incremental reshape could interfere with displaying images that got loaded after the reshape.
* config: support smart casebptato2024-07-161-1/+0
| | | | and enable it by default.
* term: query default ansi colors, etc.bptato2024-07-021-1/+0
| | | | | * query default ANSI colors with OSC 4 * disable queries overridden by config
* config: add various missing optionsbptato2024-06-291-1/+0
| | | | | | | 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.
* pager: refactor drawing codebptato2024-06-221-1/+0
| | | | | | | * merge select into container * avoid unnecessary redraws in draw() for parts of the screen that haven't been updated * various image redraw fixes
* term, pager: improve image displaybptato2024-06-211-1/+0
| | | | | | * basic repaint algorithm for sixel (instead of brute force "clear the whole screen") * do not re-send kitty images already on the screen
* img, loader: separate out png codec into cgi, misc improvementsbptato2024-06-201-7/+2
| | | | | | | | | | | | | | | * 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.
* layout: resize over-constrained table columnsbptato2024-05-081-3/+0
| | | | | | | | | If the total specified column width is larger than the table's allowed width, we now resize them proportionally to the specified width. This is quite important because many tables set the width to e.g. 50% for "give me half of the table", instead of its true meaning "give me half of the page".
* css, dom: simplify ident parsing, canvas fixesbptato2024-05-011-0/+1
| | | | | | | | * add CSSStyleDeclaration setter * move ident maps directly into enums * more complete CSSComputedValue stringifier * turn canvas into a pseudo-image in cascade * set canvas to inline-block
* term: add sixel encoderbptato2024-04-251-6/+10
|
* Initial image supportbptato2024-04-251-1/+5
| | | | | | | | | | | | | | | | | * png: add missing filters, various decoder fixes * term: fix kitty response interpretation, add support for kitty image detection * buffer, pager: initial image display support Emphasis on "initial"; it only "works" with kitty output and PNG input. Also, it's excruciatingly slow, and repaints images way too often. Left undocumented intentionally it for now, until it actually becomes useful. In the meantime, adventurous users can find out themselves why: [[siteconf]] url = "https://.*" images = true
* test: add js & layout testsbptato2024-04-211-1/+0
| | | | (Sadly some layout tests still fail.)
* js: remove automatic function -> closure conversionbptato2024-04-151-2/+0
| | | | | | | | | | | | | | | It's a bad idea for several reasons: * it's inefficient; must allocate an environment for a closure in Nim, even though we already have one in JS * writing macros for automatically creating functions with variadic arguments is suprisingly difficult (see the entire `js/javascript' module) * it never really worked properly, because we never freed the associated function pointer. We hardly used it anyway, so the easiest fix is to get rid of it completely.
* Update todobptato2024-04-151-18/+17
|
* layout: slightly hacky flex-basis implementationbptato2024-04-091-2/+2
| | | | | | | | it's better than nothing. I suppose. (Two-value flex syntax is encouraged even by the standard, so it gets used a lot, and that sets 0, not flex-basis: auto, so not having flex-basis breaks too many things.)
* Initial flexbox supportbptato2024-04-051-1/+5
| | | | | | | | | Still far from being fully standards-compliant, or even complete, but it seems to work slightly less horribly than having no flexbox support at all on sites that do use it. (Also includes various refactorings in layout to make it possible at all to add flexbox.)
* man: rewrite in Nimbptato2024-03-131-6/+2
| | | | | | | | | | | | Depending on Perl just for this is silly. Now we use libregexp for filtering basically the same things as w3mman2html did. This required another patch to QuickJS to avoid pulling in the entire JS engine, but in return, we can now run regexes without a dummy JS context global variable. Also, man.nim now tries to find a man command on the system even if it's not in /usr/bin/man.
* Update todobptato2024-03-041-10/+2
|
* layout: improve/simplify line box error correctionbptato2024-02-281-3/+0
| | | | | | | | | | | | The previous retrofitting of the old renderdocument error correction usually worked, but it still had a horrible flaw in that it assumed that all line boxes are of equal height. So if error was lower for some line than another, it would move *all* lines by a somewhat lower error, and that resulted in overlapping lines. Now we do something much simpler: in flushLine, round each line's height downwards before moving on to the next line. This gets rid of any blanks inbetween lines, and also works much better with cleared floats.
* Update todobptato2024-02-251-4/+0
|
* Update todobptato2024-02-241-1/+4
|
* Replace Chakasu with Chagashibptato2024-02-221-3/+0
| | | | | | The API is horrid :( but at least it copies less. TODO: think of a better API.
* Update todobptato2024-02-121-2/+3
|
* Update todobptato2024-02-081-12/+15
|
* Update chamebptato2024-02-071-0/+5
| | | | | | | | * Update chame to the latest version * Get rid of nodeType usage * Add atoms * Re-implement DOM attributes * document.write
* Update todobptato2024-01-301-0/+2
|
* Add mancha man page viewerbptato2024-01-261-0/+3
| | | | | | | | | | derived from w3mman2html.cgi, there are only a few minor differences: * different man page opener command * use man:, man-k:, man-l: instead of query string to specify action * no form input (C-lC-uman:pageC-m is faster anyway) TODO rewrite in Nim so we don't have to depend on Perl...
* Update todobptato2024-01-041-0/+3
|
* update todobptato2023-12-141-5/+7
| | | | | | | * better path handling done * empirically, we no longer crash on / -> M-c * LD_PRELOAD is good enough, especially now when the main binary no longer links to libcurl
* Update todobptato2023-12-091-2/+0
| | | | | | | It's not perfect still, but with newer Nim versions the browser compiles in about 20 secs on my machine (a signficiant improvement over what used to be like 50 secs or something). No need to keep this entry in todo anymore.
* Update todobptato2023-12-031-2/+0
|
* layout: rewrite inline box handlingbptato2023-11-271-2/+0
| | | | | | | | | | | We now have real inline boxes. * Fix nesting of inline boxes * Represent inline boxes with a hierarchical RootInlineFragment -> InlineFragment tree * Get rid of inline padding hack * Get rid of ComputedFormat * Paint inline box backgrounds properly
* Update readme, todobptato2023-11-231-1/+3
|
* layout: add floatsbptato2023-11-171-1/+7
| | | | | | | | | | | | | yay!!!! * Add support for float: left, float: right Also, misc stuff: * Add support for display: flow-root * Set line width to the maximum allowed width on line wrap * Various refactorings Still todo: support clear
* update todobptato2023-11-151-0/+4
|
* fromJSInt: do not fail if not IsNumberbptato2023-10-211-1/+0
| | | | to match standard behavior (e.g. accept null as int, etc)
* Update todobptato2023-10-211-1/+0
|
* update todobptato2023-10-011-0/+2
|
* Add urimethodmap supportbptato2023-09-301-3/+0
| | | | yay
* update readme, todobptato2023-09-301-1/+0
|
* update todobptato2023-09-271-4/+1
|
* Disable "toggle source" for the console bufferbptato2023-09-211-1/+0
|
* update todobptato2023-09-201-2/+0
|
* document pager.externbptato2023-09-201-1/+0
| | | | it's better than nothing, maybe?
* loader: add gopher supportbptato2023-09-201-1/+0
| | | | works
* loader: add FTP supportbptato2023-09-191-1/+0
| | | | | | | | | | | | works, sort of still needs some work: * better dirlist, ideally make it look like file dirlist (or make file look like ftp dirlist. well, anyway, they should look the same) * absolute paths? (for now you have to append an extra slash to the path beginning) * ssh keys for sftp? (actually I haven't even tested sftp yet...)