2020-10-06 cage * src/gemini-viewer.lisp, src/package.lisp, src/priority-queue.lisp, src/program-events.lisp: - [gemini] remove a bottleneck when download of a gemini page is completed; Instead of process multiple events, each one with a single line to render, compact all the lines in a single event and, then, process all the lines at once. 2020-10-03 cage * etc/init.lisp, src/complete.lisp, src/line-oriented-window.lisp, src/open-message-link-window.lisp, src/package.lisp, src/program-events.lisp, src/ui-goodies.lisp: - added the possibility to search inside a widows that contains a collection of links. 2020-10-02 cage * NEWS.org, src/constants.lisp, src/program-events.lisp: - actually use the compiled regex-scanner when seraching text in the message window; - increased refresh frequency; - removed author name from NEWS.org. 2020-10-01 cage * src/program-events.lisp: - [gemini] removed waiting for rendering of a page before going back in browsing history. 2020-10-01 cage * src/open-message-link-window.lisp, src/package.lisp, src/program-events.lisp, src/ui-goodies.lisp: - [gemini] fixed the stopping of rendering the old page when a new link is opened; - [gemini] added 'gemini-abort-all-downloading-event', used when quitting. 2020-09-30 cage * src/gemini-viewer.lisp, src/open-message-link-window.lisp, src/package.lisp, src/priority-queue.lisp, src/program-events.lisp, src/ui-goodies.lisp: - [gemini] remove all pending rendering events when quitting. 2020-09-30 cage * src/package.lisp, src/priority-queue.lisp, src/program-events.lisp: - [gemini] remove from the event queue all the lines got from a gemtext download when aborting a download. 2020-09-27 cage * src/api-client.lisp, src/api-pleroma.lisp, src/command-line.lisp, src/package.lisp: - removed method to delete notifications using old API new version of pleroma implements the same API as mastodon 3.x; - fixed command line switch to get notification for mentions. 2020-09-26 cage * src/api-client.lisp: - prevented crash when updating mentions The 'status' slot in a 'mention' object can be nil, in this case expand the tree does not makes sense and should be avoided. 2020-09-26 cage * src/program-events.lisp: - add mentions only is not empty or nil, previous check just tested for null. 2020-09-24 cage * src/program-events.lisp: - added mention only if non-nil (when sending a status). 2020-09-19 cage * NEWS.org, configure, configure.ac, tinmop.asd: - increased version. 2020-09-19 cage * ChangeLog: - tracking changes. 2020-09-19 cage * src/stack.lisp: - fixed 'stack-raise-to-top' Swapping the position of the window to be raised with the head of the was a bad idea. Sometimes a windows could go behind the omnipresent windows (messages, thread etc.) and never shown (as covered by the others). 2020-09-18 cage * src/program-events.lisp: - fixed indentation. 2020-09-18 cage * src/os-utils.lisp, src/ui-goodies.lisp: - lowered permancence of notification when updating timelines; - fixed managing of editor arguments. 2020-09-12 cage * po/it.po, po/tinmop.pot: - updated italian translation. 2020-09-12 cage * src/filesystem-utils.lisp, src/package.lisp, src/ui-goodies.lisp: - added exit handler to clean temporary files. 2020-09-12 cage * etc/shared.conf: - improved regular expressions for message coloring. 2020-09-12 cage * etc/shared.conf, src/gemini-viewer.lisp, src/gemini/gemini-parser.lisp, src/package.lisp, src/ui-goodies.lisp: - [gemini] ensure just a single gemini file is in rendering state at the same time; - [gemini] add a newline to data before parsing a gemini file only when needed (there is no one at the end); - commented and improved some regular expressions for coloring. 2020-09-11 cage * src/gemini-viewer.lisp: - [gemini] clear the streams window before redrawing when refreshing the window's contents. 2020-09-11 cage * etc/init.lisp, src/open-message-link-window.lisp, src/package.lisp, src/ui-goodies.lisp: - [gemini] feature added: start downloading a gemini file in background (i.e. without rendering on the window); - removed explicit package name 'specials' in ui-goodies.lisp. 2020-09-10 cage * po/it.po, po/tinmop.pot: - updated italian translation. 2020-09-10 cage * etc/default-theme.conf, src/chats-list-window.lisp: - fixed chat list windows items. 2020-09-10 cage * etc/init.lisp, src/api-pleroma.lisp, src/line-oriented-window.lisp, src/message-window.lisp, src/package.lisp, src/program-events.lisp, src/ui-goodies.lisp: - added feature create new chat; - fixed crash when selecting a chat with no messages. 2020-09-09 cage * etc/default-theme.conf, etc/init.lisp, src/chats-list-window.lisp, src/conversations-window.lisp, src/db.lisp, src/package.lisp, src/program-events.lisp, src/scheduled-events.lisp, src/software-configuration.lisp, src/ui-goodies.lisp, src/windows.lisp: - changed position and (configurable) colors for chat window; - added feature: change chat labels. 2020-09-07 cage * src/chats-list-window.lisp: - prevent printing of chat messages from ignored users. 2020-09-06 cage * po/it.po, po/tinmop.pot: - updated italian translation. 2020-09-06 cage * etc/init.lisp, src/db.lisp, src/open-message-link-window.lisp, src/package.lisp, src/ui-goodies.lisp: - added chat attachments browsing window. 2020-09-06 cage * etc/init.lisp, src/chats-list-window.lisp, src/keybindings.lisp, src/main.lisp, src/message-window.lisp, src/package.lisp, src/program-events.lisp, src/scheduled-events.lisp, src/ui-goodies.lisp: - basics chats works. 2020-09-06 cage * src/program-events.lisp, src/ui-goodies.lisp: - given focus to message window when a chat is opened; - scroll to end of chat when new message arrived. 2020-09-06 cage * po/it.po, po/tinmop.pot, src/api-pleroma.lisp, src/chats-list-window.lisp, src/complete.lisp, src/db.lisp, src/main.lisp, src/message-window.lisp, src/package.lisp, src/program-events.lisp, src/scheduled-events.lisp, src/ui-goodies.lisp, tinmop.asd: - posting on chats works; - fixed ordering in db:all-chat-messages (message-id was not a valid column name); - added scheduled events; - minor changes in labels. 2020-09-06 cage * src/api-client.lisp, src/api-pleroma-entities.lisp, src/api-pleroma.lisp, src/box.lisp, src/bs-tree.lisp, src/chats-list-window.lisp, src/command-line.lisp, src/command-window.lisp, src/complete-window.lisp, src/conditions.lisp, src/config.lisp.in, src/constants.lisp, src/conversations-window.lisp, src/crypto-utils.lisp, src/date-formatter.lisp, src/db-utils.lisp, src/db.lisp, src/emoji-shortcodes.lisp, src/filesystem-utils.lisp, src/follow-requests.lisp, src/gemini-viewer-metadata.lisp, src/gemini-viewer.lisp, src/gemini/client.lisp, src/gemini/gemini-constants.lisp, src/gemini/gemini-parser.lisp, src/gemini/package.lisp, src/hooks.lisp, src/html-utils.lisp, src/interfaces.lisp, src/keybindings-window.lisp, src/keybindings.lisp, src/line-oriented-window.lisp, src/main-window.lisp, src/main.lisp, src/message-rendering-utils.lisp, src/message-window.lisp, src/misc-utils.lisp, src/modeline-window.lisp, src/modules.lisp, src/mtree-utils.lisp, src/notify-window.lisp, src/num-utils.lisp, src/open-attach-window.lisp, src/open-message-link-window.lisp, src/os-utils.lisp, src/package.lisp, src/point-tracker.lisp, src/priority-queue.lisp, src/program-events.lisp, src/queue.lisp, src/rb-tree.lisp, src/resources-utils.lisp, src/sending-message.lisp, src/software-configuration.lisp, src/specials.lisp, src/stack.lisp, src/suggestions-window.lisp, src/tags-window.lisp, src/tests/all-tests.lisp, src/tests/box-tests.lisp, src/tests/gemini-parser-tests.lisp, src/tests/misc-tests.lisp, src/tests/mtree-tests.lisp, src/tests/numeric-tests.lisp, src/tests/package.lisp, src/tests/program-events-tests.lisp, src/tests/text-utils-tests.lisp, src/tests/thread-window-tests.lisp, src/text-utils.lisp, src/thread-window.lisp, src/tui-utils.lisp, src/ui-goodies.lisp, src/windows.lisp, src/x509-ffi.lisp, src/x509.lisp: - changed GPL comment headers. 2020-09-06 cage * src/message-window.lisp: - fixed vertical position of line mark in message window. 2020-09-06 cage * src/line-oriented-window.lisp, src/message-window.lisp: - fixed 'line-oriented-window:row-move' must return always a number (0), not nil, when no movement occurs; - fixed vertical scrolling boundaries of messages window. 2020-09-05 cage * po/it.po, src/api-pleroma.lisp, src/program-events.lisp, src/ui-goodies.lisp: - minor cleaning. 2020-09-05 cage * po/POTFILES.in, po/it.po, po/tinmop.pot: - updated italian translation. 2020-09-05 cage * etc/default-theme.conf, etc/init.lisp, etc/shared.conf, src/api-pleroma-entities.lisp, src/api-pleroma.lisp, src/chats-list-window.lisp, src/db.lisp, src/gemini-viewer.lisp, src/keybindings.lisp, src/main.lisp, src/package.lisp, src/program-events.lisp, src/software-configuration.lisp, src/specials.lisp, src/ui-goodies.lisp, tinmop.asd: - chats can be fetched, via UI, and printed on window. 2020-09-02 cage * src/api-pleroma.lisp, src/package.lisp: - [pleroma-API] added 'fetch-chat-message. 2020-09-02 cage * src/api-pleroma.lisp, src/db.lisp: - added tables for chats; - fixed some slot names for chat entities. 2020-09-02 cage * ChangeLog: - tracking changes. 2020-09-02 cage * src/api-pleroma.lisp, src/package.lisp: - [pleroma-API] added a few function to use chats. 2020-08-30 cage * configure, configure.ac, tinmop.asd: - increased version. 2020-08-30 cage * ChangeLog, NEWS.org: - tracking changes. 2020-08-30 cage * po/it.po, po/tinmop.pot: - updated italian translation. 2020-08-30 cage * etc/default-theme.conf, etc/init.lisp, etc/shared.conf, src/gemini-viewer-metadata.lisp, src/gemini-viewer.lisp, src/keybindings.lisp, src/package.lisp, src/program-events.lisp, src/software-configuration.lisp, src/specials.lisp, src/tui-utils.lisp, src/ui-goodies.lisp: - [gemini] added a window to manage all the gemini streams opened. 2020-08-29 cage * src/gemini-viewer.lisp: - [gemini] starting download thread in ':rendering' status. 2020-08-29 cage * configure, src/gemini-viewer-metadata.lisp, src/gemini-viewer.lisp, src/open-message-link-window.lisp, src/program-events.lisp, tinmop.asd: - [gemini] added slot 'status-stream'. This will allow to enqueue multiple documents download. 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