2020-08-28 * src/line-oriented-window.lisp * src/open-message-link-window.lisp * src/gemini-viewer.lisp * src/misc-utils.lisp - added vertical top padding for 'line-oriented-window'. This means also that the gemini links window will render the link name on top of the link uri. - [gemini] wrapped non gemini download thread. Also added a few of useful slots like temporary file path and number of bytes downloaded so far. 2020-08-27 * src/gemini-viewer.lisp * src/program-events.lisp - added 'gemini-stream' class. Starting wrapping streaming of gemini's data using hi level structures (this way we can associate a for aecha stream), this could be useful to let the user start or stop the stream or open the data downloaded so far. 2020-08-19 * .gitignore * Makefile.in * etc/init.lisp * src/db.lisp * src/gemini-viewer.lisp * src/gemini/client.lisp * src/gemini/gemini-parser.lisp * src/gemini/package.lisp * src/html-utils.lisp * src/line-oriented-window.lisp * src/message-window.lisp * src/misc-utils.lisp * src/package.lisp * src/program-events.lisp * src/ui-goodies.lisp * tinmop.asd - Added Makefile.in. - [gemini] allowed secret input; - tracking changes in croatoan some function in 'tui-utils' are just wrappers for the equivalents in the library; - added more docstrings; - use new i18n feature form unix-opt to localize program's usage messages. 2020-07-26 - [gemini] the parser has been modified to renders (in a separate thread) the contents of a gemini file parsed so far without waiting for the whole document to be read from the socket. This feature should prevent blocking the client when the server never close the socket (i.e. for streamed contents). - [gemini] added the possibility to abort current page download. 2020-07-17 * src/program-events.lisp - prevented a crash if an invalid regular expression is used when searching in a message window. 2020-07-15 * etc/init.lisp * po/it.po * po/tinmop.pot * src/gemini-viewer.lisp * src/gemini-viewer.lisp * src/gemini/client.lisp * src/gemini/gemini-parser.lisp * src/gemini/package.lisp * src/package.lisp * src/ui-goodies.lisp - [gemini] parse link even if link name is empty sometimes you can met a link like: =>URI even if this is, in my opinion, a malformed link (there should be a text -the link name- after the space) parse anyway as if the link name exists and is empty; - [gemini] added the option to view gemini page's source. - [gemini] fixed bug that prevented rendering of levels 3 headers; - [gemini] fixed information string; - updated italian translation. 2020-07-13 * etc/shared.conf * src/message-rendering-utils.lisp * src/message-window.lisp - fixed regex for percent numbering; - formatted as floating points votes percentage in polls. 2020-07-08 * etc/default-theme.conf * etc/shared.conf * src/command-line.lisp * src/gemini/client.lisp * src/gemini/gemini-parser.lisp * src/gemini/package.lisp * src/main.lisp * src/package.lisp * src/software-configuration.lisp * tinmop.asd - [gemini] made some elements of page rendering customizable using 'gemini-page-theme' class some elements of the rendered page (header prefix, bullet and so on) can be customized. users can use configuration files directive to change the appearance of said elements (both character and color or font variants); - removed unused argument from command line switch: '-m'. 2020-07-06 * src/notify-window.lisp * src/program-events.lisp * src/ui-goodies.lisp - correctly enqueued multiple "update timeline" commands. 2020-07-04 * po/it.po * po/tinmop.pot * quick_quicklisp.sh.in * src/gemini-viewer.lisp * src/gemini/client.lisp * src/gemini/gemini-parser.lisp * src/misc-utils.lisp * src/package.lisp * src/tui-utils.lisp * src/ui-goodies.lisp * tinmop.asd - [gemini] - using quri instead of puri library because the first has a better handling of UTF-8; - using binary stream instead of ASCII. 2020-07-02 * src/gemini/gemini-parser.lisp * src/message-rendering-utils.lisp * src/ui-goodies.lisp - prevented crash when 'original-path' is nil; - fix expanding of message threads: expands reblogged toots if exists; - added some vertical space before rendering poll. 2020-06-29 * etc/next-previous-open.lisp * po/it.po * po/tinmop.pot * src/gemini-viewer.lisp - changed key for 'delete-and-move-next' command. - updated italian translation. - [gemini viewer] fixed history navigation. 2020-06-28 * etc/init.lisp * src/gemini-viewer.lisp * src/main.lisp * src/message-window.lisp * src/package.lisp * src/program-events.lisp * src/ui-goodies.lisp - [gemini browser] added a 'go-back' command. - made the program asks for redirects following only when the event queue is empty; - added 'gemini-request-event'; - gave focus back to message window when closing link window in gemini mode. - fixed bug that prevented to properly reset links list when in gemini mode; - added command 'open-gemini-address'; - minor refactoring. 2020-06-27 * etc/init.lisp * src/db.lisp * src/hooks.lisp * src/program-events.lisp - added more parameters for each function that could be added to `*skip-message-hook*'; - changed unique constrains for TOFU table. 2020-06-23 * LICENSES.org * doc/man.org * doc/tinmop.man * etc/init.lisp * po/it.po * po/tinmop.pot * src/command-line.lisp * src/constants.lisp * src/db.lisp * src/filesystem-utils.lisp * src/gemini-viewer.lisp * src/gemini/client.lisp * src/gemini/package.lisp * src/main.lisp * src/package.lisp * src/ui-goodies.lisp - changed function name: 'temporary-filename' to 'temporary-file'; - allowed the user to bypass TOFU exception; - fixed TOFU check; - used 'notify' instead of error message; - added a command line option to retrieve a gemini URL. 2020-06-22 * LICENSES.org * README.org * README.txt * doc/man.org * doc/tinmop.man * etc/init.lisp * etc/shared.conf * po/POTFILES.in * po/it.po * po/tinmop.pot * quick_quicklisp.sh.in * src/db.lisp * src/filesystem-utils.lisp * src/gemini-viewer.lisp * src/gemini/client.lisp * src/gemini/gemini-constants.lisp * src/gemini/gemini-parser.lisp * src/gemini/package.lisp * src/keybindings.lisp * src/line-oriented-window.lisp * src/message-window.lisp * src/open-message-link-window.lisp * src/package.lisp * src/stack.lisp * src/tests/gemini-parser-tests.lisp * src/tests/package.lisp * src/text-utils.lisp * src/ui-goodies.lisp * src/x509-ffi.lisp * src/x509.lisp * tinmop.asd - gemini client works, but missing client authorization using certificates (codes 6x); - TOFU works someway but appears to me it is an ugly hack. 2020-06-14 * LICENSES.org * etc/init.lisp * src/complete.lisp * src/package.lisp * src/text-utils.lisp - prevented crash that happened when using an invalid regular expression to complete input. There was no reason to use regular expression there but valid reasons to not use them. ;) 2020-06-13 cage * src/db.lisp * src/notify-window.lisp * src/package.lisp * src/program-events.lisp - prevent adding duplicate entries in +table-pagination-status+ This could happened when concurrent fetching messages command was launched from the user. - preventing writing a notification window that completed his life cycle. 'notify-window:draw-pending' checks if 'life' slot is a positive number before drawing, without the check drawing on a ncurses window pointer pointing to invalid memory was possible. 2020-06-12 cage * etc/default-theme.conf * src/api-client.lisp * src/command-line.lisp * src/mtree-utils.lisp * src/package.lisp * src/software-configuration.lisp * src/thread-window.lisp * src/tui-utils.lisp * src/ui-goodies.lisp - do not climb the thread (probably could be changed by a command line switch in the future) when fetching messages; - configurable color for root of rendered trees; - made expanding thread command non blocking. 2020-06-11 cage * etc/shared.conf * src/api-client.lisp * src/db.lisp * src/package.lisp * src/program-events.lisp * src/software-configuration.lisp * src/ui-goodies.lisp - fixed skipping of ignored users When a set of downloaded statuses contains one or more status from an ignored user restarts the download process again starting from the last (or first, if going backward) downloaded status (ordered by ID). This way we could skip over a bunch of ignored status. The number of download restarting iteration is limited to 3 - added a configuration directive to ignore usernames that match a regular exception. 2020-06-07 cage * configure * src/ui-goodies.lisp * src/api-client.lisp * src/api-pleroma.lisp * src/db.lisp * src/message-rendering-utils.lisp * src/package.lisp * src/text-utils.lisp * tinmop.asd - remove duplicated urls in messages that are a reblog; - fixed swapped docstrings; - updated configure. - moved pleroma specific API to i package :api-pleroma; - renamed function: 'text-utils:left-padding-suffix' to 'text-utils:left-padding-prefix'; - rendered the choice index for poll's choices; - shown if a poll allows multiple choices; - printed an error to the user when trying to vote for a message that does not contains a poll. 2020-05-31 cage * etc/init.lisp * src/api-client.lisp * src/program-events.lisp * src/ui-goodies.lisp * etc/default-theme.conf * etc/shared.conf * po/it.po * po/tinmop.pot * src/db.lisp * src/message-rendering-utils.lisp * src/package.lisp * src/software-configuration.lisp * src/thread-window.lisp - [breaking changes] Added polls. To allow this feature two new tables "poll" and "poll-options" has been added to database schema. 2020-05-30 cage * etc/init.lisp * src/api-client.lisp * src/command-line.lisp * src/complete.lisp * src/db.lisp * src/main.lisp * src/package.lisp * src/program-events.lisp * src/thread-window.lisp * src/tui-utils.lisp * src/ui-goodies.lisp * tinmop.asd - [breaking changes] changed table for attachments; - fixed bug that prevented statuses missing attachments when the status was reblogged. - added optional notification of statuses mentioning the user; - protected reblogged timeline from accidental deletion; - added the possibility to force expanding of a message tree; - rearranged compilation order to prevent warning about command line switch; - rearranged order of packages. 2020-05-20 cage * quick_quicklisp.sh.in - removed useless switch. 2020-05-19 cage * src/db.lisp (renumber-timeline-message-index) * src/command-line.lisp (gen-opts) * etc/shared.conf - fixed renumbering of 'message-index' of status The old procedure did not took into account the 'folder' and 'timeline' columns making possible to overwrite index of a copy of the same message placed in different folder. This bug made the program crash; - fixed command line long option; - fixed wrong name of a variable in a configuration file. 2020-05-18 cage * doc/man.org * doc/tinmop.man * po/it.po * po/tinmop.pot * src/command-line.lisp * src/main.lisp * src/package.lisp - added the reset of timeline pagination from command line. 2020-05-17 cage * src/open-message-link-window.lisp * src/text-utils.lisp - added a class to represent a window with the links that a message contains The links are collected by the new function text-utils:collect-links applied on the rendered text of a status. 2020-05-15 cage - initial release