[BACK]Return to TODO CVS log [TXT][DIR] Up to [local] / projects / Porcelain

Annotation of projects/Porcelain/TODO, Revision 1.7

1.1       thfr        1: # - add Copyright/license to modules
                      2: # - limit size of history; can be configurable in whatever config approach is later chosen
                      3: # - implement subscribed option
                      4: # - allow theming (colors etc) via a config file?
                      5: # - see if some Perl modules may not be needed
                      6: # - review error handling - may not always need 'die'. Create a way to display warnings uniformly?
                      7: # - replace all uses of die with clean_die (?)
                      8: # - add option for "Content Warning" type use of preformatted text and alt text:
                      9: #      https://dragonscave.space/@devinprater/105782591455644854
                     10: # - implement logging messages, warnings, errors to file
                     11: # - add mouse support?!
                     12: # - implement 'N' to search backwards
                     13: # - implement '|' to pipe to external programs (like espeak)
                     14: # - update README, ideally as output from pod2usage
                     15: # - pledge after reading config; can get rid of rpath?? see https://marc.info/?l=openbsd-ports&m=161417431131260&w=2
                     16: # - remove non-printable terminal control characters; see https://lists.orbitalfox.eu/archives/gemini/2020/000390.html
                     17: # - implement TOFU recommendations:gemini://drewdevault.com/2020/09/21/Gemini-TOFU.gmi - PARTIALLY; NEED TEMP PERMISSIONS
                     18: # - fix supporting MIME text/plain: query: gemini://gemini.thebackupbox.net/IRIcheck
                     19: # - gemini://gemini.thebackupbox.net/IRIcheck: strip non-printable characters from $meta - displays: ": bmit something and I'll tell you if it is an IRI."
                     20: # - fix newline in SYNOPSIS to separate different syntax
                     21: # - fix $reflow_text, $update_viewport mechanics in sub page_nav to keep viewport at stable position
                     22: #   (currently viewport moves down when increasing COLs, and up when decreasing)
                     23: # - add timeout to loading resources
                     24: # - ?add test suite?
                     25: # - add config option to mandate TLS >= 1.3
                     26: #   see specification (as of 2021-03-09): "Clients who wish to be "ahead of the curve MAY refuse to connect to servers using TLS version 1.2 or lower."
                     27: #   => test then what domains break
                     28: # - store protocol version with my $rv = Net::SSLeay::get_version($ssl); => can use to check TLSv1.3
                     29: # - fix underscore in front of link, header , see gemini://astrobotany.mozz.us
                     30: #      gemini://palm93.com/2021-03-07_Midgard.gmi
                     31: # - implement geminispace search, like 's' in gemini://gmn.clttr.info/cgmnlm.gmi ?
                     32: # - c_prompt_str - enable backspace, arrow key navigation, cursor?
                     33: # - use newpad with $max_vrows and $max_vcols rather than simple window for the display
                     34: # - make sure not using getstr, inchstr, instr because of potential for buffer overflow attacks; see https://metacpan.org/pod/Curses
                     35: # - make sure to escape dots and other RE chars in all uses of grep
                     36: # - add the server response header (e.g. "20 text/gemini; lang=en-US;charset=utf-8") to Info page
                     37: # - other page to test with temporary certs: gemini://bestiya.duckdns.org/
                     38: # - check why cert mismatch with gemini://skyjake.fi/lagrange/ when following link from other domain (hyperborea.org)
                     39: # - add IRI support (see mailing list)
                     40: # - implement a way to preview links before following them
                     41: # - fix glitch of line continuation showing the internal leading characters e.g. gemini://thfr.info/gemini/modified-trust-verify.gmi list items when scrolling past initial line
                     42: # - remove need for rpath from sslcat_porcelain by preloading whatever is needed?
                     43: # - check POD documentation with podchecker(1)
                     44: # - go through '$ perldoc perlpodstyle'
                     45: # - enable --conf/-c config file support; see GetOptions
                     46: # - implement '.' to see raw page (like Elpher, apparently; see https://www.youtube.com/watch?v=Dy4IWoGbm6g)
                     47: # - implement Tab key to select links in page
                     48: # - clean up module usage between script and Porcelain modules
                     49: # - use constant pragma or p5-Readonly{,-XS} to harden certain variables like %open_with
1.2       thfr       50: # - fix connection issue without trailing '/'
1.3       thfr       51: # - clean out use of "our" variables
1.4       thfr       52:
                     53: When error opening a file:
                     54: Use of uninitialized value $render_format in string eq at /home/thfr/cvs/projects/Porcelain/script/../lib/Porcelain/RequestHandler.pm line 283.
                     55: Use of uninitialized value $renderformat in string eq at /home/thfr/cvs/projects/Porcelain/script/../lib/Porcelain/Nav.pm line 77.
                     56: Use of uninitialized value $renderformat in string eq at /home/thfr/cvs/projects/Porcelain/script/../lib/Porcelain/Nav.pm line 79.
                     57:
1.5       thfr       58: # with links continued into another line, fix correct color display of the link
1.6       thfr       59: # "gemini://frrobert.net" doesn't open, but "gemini://frrobert.net/" does: "Error completing the request"
1.7     ! thfr       60: # in console, the background of the title window misses background coloring of the leftmost char

Contact: <mail@mail.thfr.info>