about summary refs log blame commit diff stats
path: root/todo
blob: 6d372a4ac0a27500ed9115d3af3639d86404a9af (plain) (tree)
1
2
3
4
5
6
7
8
9
10
            
                    
                         


                                               
        


                                                                           
                             
                                                             
       
                                                              
                          






                                                                      

                                                                  
       




                                                                             
                               

                                                     
                                                           
                                                             
                   
       
      

                                                                               


                                   
        
                                                       
                               
           

                                             
                                             
                
                                  
                  
              


                                                                        

                                                                                

                                                                                
                                                    

                                                                            
                 
          
                                
        
         
                                                     
       
           
    
                                                                    
                         
                                                 
         
                


                                    
compilation:
- reduce binary size
	* fbf for unifont
charsets:
- set up some fuzzer
- use appropriate charsets in forms, urls, etc.
display:
- important: buffer list
	* either a buffer list buffer, or a buffer list popup menu. ideally
	  both.
- dark mode (basically max Y)
- override bgcolor ourselves when terminal fails to report it
config:
- important: fix crash on missing /tmp dir with default config
- important: config editor
- switch from table arrays to tables
- better siteconf URL matching
- $TERM-based display config
* better path handling (e.g. inline files, so we could get rid of css
  "include/inline" etc.)
- add per-scheme env var configuration (e.g.
  proto.gemini.known-hosts = '/some/path'; maybe also with inline JS?)
- add RPC for CGI scripts e.g. toggle settings/issue downloads/etc
	* also some way to set permissions for RPC calls
buffer:
- important: validate returned values
	* do not block container when receiving buffer data; if invalid, kill
	  buffer
	* this also includes not crashing when the buffer dies while
	  container is reading...
- important: improve sandboxing
	* sandbox more built-in CGI protocol handlers
- configurable/better url filtering in loader
- when the log buffer crashes, print its contents to stderr
	* easiest way seems to be to just dump its cache file
- add buffer groups
- xhtml
pager:
- better horizontal line handling: allow viewing content positioned before page
  start, handle long lines, etc
- history, bookmarks (w3m format?)
- save/edit buffer output
- alert on external command failure
network:
- uBO integration? (or at least implement filter lists)
- websockets (curl supports ws)
javascript:
- add support for JS mixins
- distinguish double from unrestricted double
- better dom support: more events, CSSOM, ...
- ReadableStream
- separate console for each buffer
- buffer selection
layout engine:
- box borders
	* will probably need special treatment, as borders must round to
	  1ch in x direction and 1em in y direction.
- do not break inline boxes with out-of-flow block boxes (float, absolute, etc.)
	* this seems hard to fix properly :(
	* reminder: this does *not* apply to flexbox; in fact it has the inverse
	  problem AFAICT.
- table layout: include caption in width calculation
- flexbox: align-self, align-items, justify-content, proper margin handling,
  proper flex base size resolution
- details element
- overflow
- partial layout, layout caching
- iframe
- z order
- writing-mode, grid, ruby, ... (i.e. cool new stuff)
images:
- animation
man:
- add a DOM -> man page converter so that we do not depend on pandoc
  for man page conversion
- move default keybinding definitions to man page
gmifetch:
- rewrite in Nim
tests:
- network/XHR (make net test async?)
- pager? (how?)