1
0
Fork 0
tinmop/ChangeLog

2183 lines
59 KiB
Plaintext

2021-05-06 cage
* src/program-events.lisp:
- performed a cleanup of searching even if the search string is
empty or is not a valid regular expression.
2021-05-06 cage
* src/package.lisp,
* src/program-events.lisp:
- [gemini] expand tilde when trying to open a local file or
directory.
2021-05-04 cage
* src/tour-mode-parser.lisp,
* src/ui-goodies.lisp,
* src/package.lisp,
* tinmop.asd:
- [gemini] improved tour-mode the command accepts space separated
list of link index or link ranges (e.g: "5-7 1 2").
2021-05-02 cage
* README.org,
* README.txt,
* etc/init.lisp,
* po/it.po,
* po/tinmop.pot,
* src/message-window.lisp,
* src/ui-goodies.lisp,
* src/line-oriented-window.lisp,
* src/package.lisp:
- prevented out of bound condition when scrolling message-window's
contents. When user switched from a page to another shorter the
scrolling position was not restored, pointing outside the actual
text line counts. This prevent the correct rendering of the page
(a blank page is shown instead) and crash the software if
scrolling up. Thanks op!
- [gemini] fixed order of links when showing tour-mode's queue
(thanks op!).
- [gemini] changed gemini search site.
- updated italian translation.
- improved docstring for tour-mode.
- [gemini] improved tour-mode, allow collect links by regex not only
by indices.
2021-05-01 cage
* src/open-message-link-window.lisp,
* src/package.lisp,
* src/ui-goodies.lisp,
* etc/init.lisp,
* etc/init.lisp,
* src/package.lisp,
* src/ui-goodies.lisp:
- added a command to show the tour's queue.
- removed hardcoded list of windows that loose focus when focus is
changed.
- added tour mode to explore geminispace.
2021-04-28 cage
* doc/man.org,
* doc/tinmop.man,
* src/filesystem-utils.lisp,
* src/gemini-viewer.lisp,
* src/open-attach-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/stack.lisp,
* src/ui-goodies.lisp,
* src/windows.lisp,
* etc/init.lisp,
* src/gemini-viewer-metadata.lisp,
* src/package.lisp:
-[gemini] removed loop when going back in history. when follownig
a redirect both the original (the redirect) and the actual URI was
saved in the history. So if an user, after followed a redirect,
tried to go back would reach the same redirect, this generated a
loop;
- updating documentation (mentioning navigation keys);
- implemented a new method to move focus between windows (using
'M-arrowkeys').
2021-04-27 cage
* src/filesystem-utils.lisp,
* src/open-attach-window.lisp:
- fixed procedures that extract extension from a local path or an
URI.
2021-04-26 cage
* src/gemini/gemini-parser.lisp:
- fixed 'make-gemini-iri', was crashing the program when 'port'
argument was null.
2021-04-25 cage
* Makefile.am,
* Makefile.in,
* po/POTFILES.in,
* po/it.po,
* po/tinmop.pot,
* src/program-events.lisp,
* src/text-utils.lisp:
- updated italian translation.
- fixed text-utils:percent-encoded-p, an empty string is not
percent-encoded;
- raised a better error when an empty string is entered as a gemini
address;
- instructed Makefile to recompile the package if a source is
modified;
- updated italian translation.
2021-04-24 cage
* src/gemini/gemini-parser.lisp:
- [gemini] omitted default port when building URI.
2021-04-23 cage
* src/filesystem-utils.lisp:
- used 'mkstemps' intead of 'mkstemp' as the latter does not
supports suffix and the temporary keeps the same names.
2021-04-21 cage
* modules/rewrite-message-urls.lisp,
* src/message-window.lisp,
* src/package.lisp:
- optimized module 'rewrite-message-urls.lisp'.
- fixed end position for 'visible-rows'
2021-04-20 cage
* src/message-window.lisp:
- fixed rendering of text: all text is now rearranged to fit
the window.
2021-04-16 cage
* src/gemini/gemini-parser.lisp,
* src/iri-parser.lisp,
* src/package.lisp,
* src/tests/iri-tests.lisp,
* src/text-utils.lisp,
* src/gemini/client.lisp:
- quote meta characters when matching for RE, searching for a common
prefix from a bag of strings.
- [gemini] allowed to connect to host using IP address instead of
hostname;
- fixed 'make-gemini-iri', was building wrong IRI with IP6 address
as host;
- trimmed square brackets from IP literal when parsing an IRI;
- [gemini] prevented trimming of preformatted gemtext line.
2021-04-13 cage
* src/gemini/gemini-parser.lisp,
* src/gemini/package.lisp,
* src/message-window.lisp,
* src/package.lisp,
* src/tui-utils.lisp,
* LICENSES.org,
* src/follow-requests.lisp,
* src/text-utils.lisp,
- added 'remove-corrupting-utf8-chars' to clean up rendered text
from trouble characters.
-[gemtext] added metadata for list, header lines and link lines;
- fixed processing of follow requests.
2021-04-11 cage
* modules/rewrite-message-urls.lisp,
* src/line-oriented-window.lisp,
* src/message-window.lisp,
* src/package.lisp,
* src/ui-goodies.lisp,
* etc/init.lisp,
* src/gemini/gemini-parser.lisp,
* src/message-window.lisp:
- [gemini] added feature to toggle preformatted block on/off;
- [gemini] trimmed alt-text; - reworded some functions;
- specialized message-window' to skip invisible rows.
2021-04-10 cage
* modules/rewrite-message-urls.lisp,
* src/gemini-viewer.lisp,
* src/gemini/package.lisp,
* src/line-oriented-window.lisp,
* src/open-attach-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/software-configuration.lisp,
* src/thread-window.lisp,
* src/tui-utils.lisp,
* modules/rewrite-message-urls.lisp,
* src/gemini-viewer.lisp,
* src/gemini/gemini-parser.lisp,
* src/hooks.lisp,
* src/main.lisp,
* src/message-window.lisp,
* src/text-utils.lisp,
* src/ui-goodies.lisp:
- exit from the program, without launching the debugger, when the
configuration module was not found but notify a warning, instead,
if the module was not essential (like when loaded from the command
line using switch "-M");
- load a module even if loading an URL has been requested from the
command line;
- [gemini] ensured tail call when downloading a non-text file;
- fixed RE in 'open-attach-window:get-extension';
- fixed bug that prevented to open an attachment from cached file.
- rewritten rendering of text in message window i got rid of slot
support-text in message-window, so that class does not maintain a
state.
- changed behaviour of split-line (split-line (format nil "~2%"))
; => ("" "") That is an empty line is returned as empty string and
not skipped Thanks to people from IRC and cl-ppcre maintainer for
help!
- [breaking changes] changed 'hooks:*before-prepare-for-rendering-message* with
'hooks:*before-rendering-message-text*.
021-04-08 cage
* src/conversations-window.lisp,
* src/gemini-subscription-window.lisp,
* src/gemini-viewer.lisp,
* src/gemini/package.lisp,
* src/message-rendering-utils.lisp,
* src/open-attach-window.lisp,
* src/package.lisp,
* src/sending-message.lisp,
* src/thread-window.lisp,
* src/ui-goodies.lisp,
* src/chats-list-window.lisp,
* src/follow-requests.lisp,
* src/gemini-client-certificates-window.lisp,
* src/gemini/gemini-parser.lisp,
* src/line-oriented-window.lisp,
* src/message-window.lisp,
* src/open-message-link-window.lisp,
* src/program-events.lisp,
* src/tags-window.lisp,
- [gemini] tag preformatted text lines with metadata (group-id and
alt text).
- discouraged use of slot 'rows' for 'row-oriented-widget', used API
instead.
2021-04-07 cage
* src/program-events.lisp:
- [gemini] removed unused arg from 'refresh-gemini-message-window'.
2021-04-06 cage
* src/line-oriented-window.lisp,
* src/message-window.lisp,
* src/open-message-link-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp:
- fixed searching in links or gemini pages: searching starts from
the first row.
- fixed search in message window. If more than one occurrence of
the matched string was present (in the same line) drawing the last
will overwrite the others.
2021-04-05 cage
* etc/default-theme.conf,
* modules/rewrite-message-urls.lisp,
* src/gemini/client.lisp,
* src/gemini/gemini-parser.lisp,
* src/gemini/gemini-parser.lisp,
* src/gemini/package.lisp,
* src/gemini-viewer.lisp,
* src/line-oriented-window.lisp,
* src/message-window.lisp,
* src/message-window.lisp,
* src/misc-utils.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/program-events.lisp,
* src/software-configuration.lisp,
* src/thread-window.lisp,
* src/tui-utils.lisp,
* src/ui-goodies.lisp:
- fixed search in message-window;
- there was a lot of problems related to type of an element of
'rows', they must be always a complex string - moreover there was
an incorrect positioning of the matching string when character
with column width >1 was present before the string compatible with
the regex;
- changed 'source-text' to 'support-text'.
- removed debug message.
- fixed and simplified 'refresh-gemini-message-window', was always appending
contents.
- [gemini] fixed gemini text parser.
- [gemini] fixed rendering of quoted lines;
- [gemini] do not set, always append, source text when refreshing a
gemini window.
- [gemini] started coloring preformatted block.
2021-04-03 cage
* src/complete.lisp,
* src/gemini/client.lisp,
* src/gemini/gemini-parser.lisp,
* src/gemini-viewer.lisp,
* src/main.lisp,
* src/message-window.lisp,
* src/open-message-link-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp:
- [gemini] improved rendering of quoted text.
- [gemini] percent encoded paths when exploring local file systems.
- fixed crash when 'contains-clsr' is called This function called
cl-ppcre:create-scanner but if the argument to this function can
not be interpreted as a valid regex (e.g "["), an error was
signalled.
- [gemini] fixed bug that prevented a page to be reloaded; -
[gemini] use cache, if possible, when opening a gemini url.
2021-04-01 cage
* src/filesystem-utils.lisp,
* src/iri-parser.lisp,
* src/tests/iri-tests.lisp,
* src/tests/uri-tests.lisp,
* src/uri-parser.lisp:
* etc/shared.conf,
* src/filesystem-utils.lisp,
* src/gemini-viewer.lisp,
* src/gemini/client.lisp,
* src/gemini/gemini-parser.lisp,
* src/gemini/package.lisp:
- fixed, again fs:dirp;
- fixed iri parser (parses correctly IRI like mailto:...).
- moved to an internal wrapping of 'mkstemp' to allow extensions in
filename;
- [gemini] rendering all stream with MIME type "text/*" with this
program.
2021-03-28 cage
* etc/default-theme.conf:
* src/filesystem-utils.lisp,
* src/open-message-link-window.lisp,
* src/os-utils.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/program-events.lisp,
* src/tests/uri-tests.lisp,
* etc/shared.conf,
* src/open-attach-window.lisp,
* src/software-configuration.lisp,
* src/uri-parser.lisp,
- [gemini] allowed exploring directory using relative path;
- [gemini] allowed opening a file using tinmop itself
(example: opening a gemini text file);
- added a more hi-level function to open a file with an external
program.
- this function takes into account the file that should be
opened with tinmop and uses 'xdg-open' as fallback if the user did
not specified an association program file-type.
- fixed 'uri:normalize-path';
- [gemini] cleaned paths when exploring local tree;
- changed link color when printed in link windows;
- cleaned a bit reults of 'prepend-pwd'.
2021-03-27
* src/filesystem-utils.lisp,
* src/gemini/client.lisp,
* src/gemini/package.lisp,
* src/iri-parser.lisp,
* src/main.lisp,
* src/open-message-link-window.lisp,
* src/package.lisp,
* src/package.lisp,
* src/uri-parser.lisp,
* src/gemini-viewer.lisp,
* src/gemini-viewer.lisp,
* src/gemini/gemini-parser.lisp,
* src/html-utils.lisp,
* src/open-message-link-window.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp:
- [gemini] added feature: loading local gemini folders or files from command
line (switch: '-o') or using TUI;
- used 'load-gemini-url', when possible, to avoid duplication.
2021-03-14 cage
* src/api-pleroma.lisp,
* src/main.lisp:
- fixed chat API;
- fixed regression, loading scripts works again.
2021-03-13 cage
* src/api-pleroma.lisp:
* src/db.lisp:
- used version 2 for get chats;
- changed the way a message is deleted: when deleting a reblogging
message delete the reblogged message as well. This way quit
should be faster as the folder ".reblogged" can not grows without
limit anymore;
- made explicit the folder for parent (reblogged) messages;
- fixed docstring.
2021-03-09 cage
* README.txt,
* configure,
* etc/init.lisp,
* po/it.po,
* po/tinmop.pot,
* src/gemini-viewer.lisp,
* src/message-window.lisp,
* src/program-events.lisp,
* src/software-configuration.lisp,
* NEWS.org,
* README.org,
* src/package.lisp:
- fixed typos in NEWS.org;
- reverted method of rendering of text in message window to a
line-based one. The old method that packed text got from Gemini
stream in single event was ugly and blocked the UI. This version
revert to a line by line rendering but it is optimized and does
not gets slow with the size of the text the window holds;
- added command for sending to pipe contents of message windows;
- made nicer the error message when a directive is missing from
configuration file;
- updated README (new installation instruction and mentioning
openssl);
- updated translations files; - updated configure (new version
number).
2021-03-03 cage
* configure.ac,
* tinmop.asd,
* NEWS.org:
- updated version number and NEWS file.
2021-02-27 cage
* configure:
* Makefile.in,
- updated building script and Makefile.
2021-02-26 Omar Polo
* configure.ac:
- use autoconf' ${AWK} instead of looking for gawk This also fixes
an instance of `awk' that should be ${AWK}
2021-02-26 Omar Polo
* compare_version.awk:
- avoid strtonum (a GNU AWK extension) this drops the requirements
on strtonum, making the script (AFAIK) POSIX compliant. This
(ab)uses the fact that `+' will cast its operator to numbers.
Tested with GNU AWK and "The One True AWK" on OpenBSD.
2021-02-21 cage
* src/gemini-viewer.lisp,
* src/package.lisp,
* etc/shared.conf,
* src/software-configuration.lisp:
- [gemini] made fetching of favicon opt-in by default tinmop will
not fetch favicon.txt anymore, this feature must be enabled by
user using a configuration directive.
2021-02-20 cage
* src/api-client.lisp:
- fixed crash when starting the program without a configuration
file.
2021-02-19 cage
* src/keybindings-window.lisp,
* src/windows.lisp,
* src/complete-window.lisp,
* src/notify-window.lisp:
- changed ':draw-border' to ':border' to track the new croatoan API.
2021-02-19 cage
* src/api-pleroma.lisp,
* src/api-client.lisp:
- added version 2 of get chat list endpoint.
2021-02-18 cage
* src/tui-utils.lisp:
- fixed append.
2021-02-18 cage
* src/package.lisp,
* src/tui-utils.lisp,
* src/misc-utils.lisp,
* src/software-configuration.lisp:
- improved a bit rendering speed of text in message window.
2021-02-13 cage
* etc/default-theme.conf,
* etc/shared.conf,
* src/open-attach-window.lisp,
* src/software-configuration.lisp:
* src/package.lisp:
- allowed users (via configuration directive) to use (or not) cache
when opening a link with a custom program.
2021-02-11 cage
* src/software-configuration.lisp:
- prevented crash when a program to open a link is not found.
2021-02-10 cage
* README.txt:
* etc/default-theme.conf,
* src/open-message-link-window.lisp,
* src/package.lisp,
* README.org,
* src/os-utils.lisp,
* src/software-configuration.lisp:
- added configuration directive to use a specific program to open
a link (e.g. open all mp3 files with program mpv);
- updated README, if no configuration file is given tinmop can be
used as a gemini client.
2021-02-09 cage
* src/gemini/client.lisp,
* src/gemini-viewer.lisp:
- [gemini] removed useless 'unwind-protect' (and simplified code)
from 'gemini-client:request';
- [gemini] in gemini-client:request-dispatch signal a condition
('not-implemented-error') instead of doing nothing when a response
in not handled (i.e. no function for that response type exists).
2021-02-07 cage
* src/gemini-viewer.lisp:
- [gemini] ensured 'gemini-viewer:request' respects the 'enqueue'
argument when making recursive call to itself.
2021-02-07 cage
* src/conditions.lisp, src/gemini-viewer.lisp,
src/gemini/client.lisp: - [gemini] rewritten gemini-viewer:request using
gemini-client:request-dispatch machinery; hopefully this should made
the function easier to read (by human) and extend.
2021-02-06 cage
* src/gemini/client.lisp,
* src/hooks.lisp,
* src/package.lisp:
* src/db.lisp,
* src/gemini-viewer.lisp,
- replaced local function 'fetch-cached-certificate' with a global;
- replaced local function with a global one;
- added hook '*after-saving-message*.
2021-02-02 cage
* src/gemini-viewer.lisp,
* src/program-events.lisp,
* src/tui-utils.lisp:
* src/package.lisp,
- fixed indentation of 'gemini-viewer:request';
- [gemini] encoded the input string before making the request;
- prevented crash when sending message to command did not worked.
Printing error to command line instead.
2021-01-31 cage
* README.org,
* README.txt,
* aclocal.m4,
* configure,
* src/gemini/client.lisp,
* src/grovel-idn.lisp,
* src/package.lisp,
* src/tests/idn-tests.lisp,
* tinmop.asd,
* Makefile.in,
* configure.ac,
* src/idn.lisp,
* src/tests/package.lisp:
- removed dependency from libidn2 punycode encoding comes from an
internal implementation instead of using an C library.
2021-01-28 cage
* src/gemini-viewer.lisp,
* src/gemini/package.lisp,
* src/package.lisp,
* src/software-configuration.lisp,
* src/ui-goodies.lisp,
* etc/default-theme.conf,
* src/gemini/client.lisp,
* src/gemini/subscription.lisp,
* src/program-events.lisp:
- [gemini] added support for favicon.txt, the implementation more
or less follow gemini://mozz.us/files/rfc_gemini_favicon.gmi but
it does render the first character of the file instead of checking
for emoji characters;
- [gemini] fixed canceling subscription to gemlogs.
2021-01-27 cage
* src/complete.lisp,
* src/db.lisp,
* etc/default-theme.conf:
- made input command history less messy
- adding a sequence of n equals entries count as one (no duplicate
entries on top of the history);
- removed duplicate for gemini history URL.
2021-01-24 cage
* etc/default-theme.conf,
* src/message-rendering-utils.lisp,
* src/software-configuration.lisp,
* src/text-utils.lisp,
* src/ui-goodies.lisp,
* etc/default-theme.conf,
* src/gemini/gemini-parser.lisp,
* src/package.lisp,
* src/tags-window.lisp:
- added feature to allow users to configure symbols rendered for
each toot visibility level in main window.
- prevented crash truncating the scaled width of tags window.
- prevented non rendering of 'new-message' character in tags window.
- made 'text-utils:strim-blanks' returns nil and not "NIL" when
input is null;
- [gemini] trim white spaces from link name.
- [gemini] shown selected row in gemlog subscription window.
2021-01-23 cage
* src/db-utils.lisp,
* src/db.lisp,
* src/message-rendering-utils.lisp,
* src/thread-window.lisp,
* src/gemini-viewer.lisp,
* src/gemini/client.lisp,
* src/gemini/package.lisp,
* src/gemini/subscription.lisp:
- changed db-nil-p this function was transforming "no" and even
0.0 (floating point number) to nil. That behaviour was incorrect
for numbers and probably not desirable for the string "No" (in
fact poll with "No" option was not rendered because of this).
Removed conversion for non- integer numbers and prevented
conversion from some kind of non empty string (like "nil" or "no")
via a key argument.
- [gemini] made slurp-gemini-url works with redirect; - [gemini]
made some refactoring for building redirect IRIs.
2021-01-18 cage
* src/db.lisp,
* src/gemini-subscription-window.lisp:
- [gemini] fixed purging and refreshing posts from subscribed gemlog
- changing deleting of posts references to logical deleting
(i.e. setting a boolean column to true); - fixed time threshold
for purging (must be a negative integer).
2021-01-17 cage
* po/it.po,
* po/tinmop.pot,
* src/keybindings.lisp,
* src/tui-utils.lisp,
* src/ui-goodies.lisp:
* src/gemini-viewer.lisp,
- shown a message when user's searching for commands returns no
results. - updated Italian translation - improved a bit a single
docstring
- [gemini] fixed test for checking valid cached value for
certificate/key pair. The function to find a cached
certificate/key or create a new pair returns a multiple value. I
was using multiple-value-list for getting the pairs
certificate/key from said functions. Then i was checking the
results of 'multiple-value-list' for null values to get the non
correct pair, but that expression never return nil (was returning
'(nil) instead). This was breaking the client authentication.
2021-01-16 cage
* src/main.lisp,
* src/package.lisp,
* src/software-configuration.lisp:
- added some more tests for checking missing values from
configuration files.
2021-01-13 cage
* configure,
* configure.ac:
* po/tinmop.pot:
* src/package.lisp,
* src/resources-utils.lisp,
* po/it.po,
* src/main.lisp,
* src/software-configuration.lisp,
- Reportedly the program works with 1.4.16.
- suggest the user how to bypass the compiler check
- create an empty config file if the user did not provided one,
instead of printing an error and exit.
- updated Italian translation.
2021-01-12 cage
* src/api-client.lisp,
* src/api-pleroma.lisp,
* src/package.lisp:
- prevented authorization of client if no server name has been
provided by the user in the config file.
2021-01-11 cage
* po/POTFILES.in,
* po/it.po,
* po/tinmop.pot,
* src/db.lisp,
* src/open-message-link-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/scheduled-events.lisp,
* src/ui-goodies.lisp,
* src/open-message-link-window.lisp,
* src/ui-goodies.lisp:
- [gemini] ensure link opened is saved in history.
- [gemini] fixed rendering of 'seen' flag for gemini post;
- [gemini] mark post as read when opening the corresponding link.
- [gemini] prevent gemlog window to lose focus when a gemlog is
selected.
- made gemlog window close when focus passes to thread window.
- added scheduling of purging of old gemlog's posts;
- updated Italian translation.
2021-01-10 cage
* po/tinmop.pot,
* src/db.lisp,
* src/gemini-subscription-window.lisp,
* src/line-oriented-window.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/scheduled-events.lisp,
* src/ui-goodies.lisp:
* etc/init.lisp,
* po/it.po,
* src/gemini/subscription.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp,
- updated Italian translation;
- [gemini]
- added command to refresh all gemlogs;
- added scheduled refresh of all gemlogs;
- fixed sorting of gemlog posts;
- prevent crash when subscribing to an already subscribed gemlog;
- added cancel of subscriptions.
2021-01-09 cage
* aclocal.m4,
* configure,
* configure.ac,
* etc/init.lisp,
* po/tinmop.pot,
* src/db.lisp,
* src/gemini/gemini-parser.lisp,
* src/gemini/package.lisp,
* src/gemini/subscription.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/specials.lisp,
* src/ui-goodies.lisp,
* tinmop.asd,
* Makefile.in,
* etc/default-theme.conf,
* etc/init.lisp,
* po/it.po,
* src/gemini-subscription-window.lisp,
* src/gemini/package.lisp,
* src/grovel-idn.lisp,
* src/keybindings.lisp,
* src/program-events.lisp,
* src/software-configuration.lisp,
* src/ui-goodies.lisp:
- [gemini]
- added a draft for gemlog subscriptions;
- added subscription command to gemlog.
- used pkg-config in the libidn2 grovel file (thanks to yumh!);
- updated Italian translation;
- using pkg-config for checking libidn2 with configure script.
2021-01-08 cage
* src/gemini/client.lisp,
* src/gemini/package.lisp,
* src/html-utils.lisp,
* src/package.lisp,
* tinmop.asd:
* src/db.lisp,
* src/gemini/subscription.lisp,
* src/misc-utils.lisp,
- [gemini] Started with gemlog subscription, added database table and
interface and subscribing API.
2021-01-06 cage
* po/it.po,
* po/tinmop.pot,
* src/message-rendering-utils.lisp:
- rendered visibility of a status when printed on the main window;
- tested with latest croatoan: no problem so far;
- updated PO file.
2021-01-05 cage
* Makefile.am,
* Makefile.in:
- instructed Makefile to install the module
'rewrite-message-urls.lisp'.
2021-01-04 cage
* README.org,
* README.txt,
* doc/tinmop.man,
* doc/man.org:
- updated FAQ;
- updated manpage.
2021-01-03 cage
* README.org,
* README.txt,
* configure,
* configure.ac,
* src/gemini-viewer.lisp,
* src/grovel-idn.lisp:
* src/gemini-viewer-metadata.lisp,
-[gemini] added urls to history if document is loaded from cached
content too;
- added switch to disable compiler check at build time;
- updated README and FAQ;
- removed IDN2_ALABEL_ROUNDTRIP_FAILED and
IDN2_NO_ALABEL_ROUNDTRIP from grovel file for libidn2 This value
has been added lately to the C library and some system
(reportedly: Debian Buster) ships an old version of the library
without this enumeration's value. I am commenting out the code,
preventing grovel to process it for now.
2021-01-02 cage
* modules/rewrite-message-urls.lisp,
* src/open-message-link-window.lisp,
* src/program-events.lisp:
- fixed hooks for remapping links in gemini window.
- [modules] rewrite-message-urls, quoting regexp before replacing.
Also refactored some repeated code in a function.
- [modules] rewrite-message-urls: changed name function to avoid
conflicts with other modules.
2020-12-31 cage
* modules/next-previous-open.lisp,
* modules/rewrite-message-urls.lisp,
* src/hooks.lisp,
* src/hooks.lisp,
* src/main.lisp,
* src/misc-utils.lisp,
* src/open-message-link-window.lisp:
* src/package.lisp,
* src/scheduled-events.lisp,
* src/ui-goodies.lisp:
* etc/init.lisp,
* modules/rewrite-message-urls.lisp,
* src/command-line.lisp,
* src/main.lisp,
* src/open-message-link-window.lisp,
* src/program-events.lisp,
- added a profiling macro;
- added function to stop event dispatching;
- Added a command line switch to load a module;
- fixed 'run-hook-compose';
- reverse link order in window;
- added 'run-hook-compose';
- added a module to rewrite URLs;
- made scheduled updating of chat messages happening only when a
chat window is shown; this changes should make the program more
responsive when scrolling the text of the main window.
2020-12-30 cage
* etc/init.lisp,
* src/line-oriented-window.lisp,
* src/open-message-link-window.lisp,
* src/program-events.lisp,
* po/it.po,
* po/tinmop.pot,
* etc/init.lisp,
* src/os-utils.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp:
- allow repeat search on links window's items;
- updated Italian translation;
- added a command to send data to an external program.
2020-12-29 cage
* NEWS.org:
* etc/init.lisp,
* modules/share-gemini-link.lisp,
* src/complete.lisp,
* src/db.lisp,
* src/gemini-viewer.lisp,
* src/main.lisp,
* src/package.lisp,
* src/program-events.lisp,
* src/ui-goodies.lisp,
* LICENSES.org,
* etc/init.lisp,
* src/gemini-viewer-metadata.lisp,
* src/gemini/client.lisp,
* src/message-window.lisp,
* src/ui-goodies.lisp,
- added reference to cl-str;
- [gemini] fix split when separator is at the end of a path;
- using a cache for username completion;
- changed default completion function to "no completion";
- added mention to the person that helped to spot a bug;
- fixed NEWS.org;
- added command to scroll main window using 'newline' key;
- added command to repeat the last text search;
- [gemini] added a command to refresh a page;
- refactoring some code to add the above command.
2020-12-28 cage
* Makefile.in,
* modules/next-previous-open.lisp,
* src/gemini/client.lisp,
* src/modules.lisp:
* src/package.lisp,
* src/package.lisp,
* src/text-utils.lisp,
* src/text-utils.lisp,
* src/ui-goodies.lisp,
* Makefile.am,
* scripts/welcome-bot.lisp,
- fixed welcomebot and moved to a new directory "scripts";
Also export some symbols that this script uses, from others packages;
- improved 'percent-decoded-p';
- [gemini] allow percent encoding of query, path and fragment only
if not already encoded;
- added missing call to format;
- reorganized modules and scripts directories;
- removed spurious NIL when writing a message.
2020-12-27 cage
* Makefile.am,
* Makefile.in,
* doc/tinmop.man,
* modules/share-gemini-link.lisp,
* modules/welcome-bot.lisp,
* po/it.po,
* po/tinmop.pot,
* src/package.lisp,
* src/ui-goodies.lisp:
* doc/man.org,
* etc/init.lisp,
* po/POTFILES.in,
- used a parameter for the welcome message;
- updated manpage;
- updated italian translation;
- moved welcomebot script in the right directory when installed;
- added a module to share a gemini page on pleroma.
2020-12-26 cage
* doc/welcome-bot.lisp
* src/db.lisp:
- added a script for a welcome bot;
- fixed false positive for new message on subscribed tags.
2020-12-25 cage
* src/gemini-viewer.lisp,
* src/gemini/client.lisp,
* src/gemini/client.lisp:
* src/grovel-idn.lisp,
* src/iri-parser.lisp,
* src/tests/uri-tests.lisp,
* LICENSES.org,
* src/gemini/gemini-parser.lisp,
* src/tests/iri-tests.lisp,
* src/uri-parser.lisp:
- [gemini] percent encoding path query and fragment before performing
the request.
- removed warning for missing constants in grovel file.
- fixed IRI and URI parser;
- taken into account fragment of IRI;
- added more IRI and URI test;
- passes all the client tests.
2020-12-21 cage
* src/program-events.lisp:
- fixed swapped functions (unfollow -> follow).
2020-12-21 cage
* src/open-message-link-window.lisp:
- [gemini] fixed bug that prevented visit the same link more than
once.
2020-12-21 cage
* po/it.po, po/tinmop.pot:
- updated italian translation.
2020-12-21 cage
* src/api-client.lisp, src/package.lisp, src/program-events.lisp:
- improved following/unfollowing users previously only user that
had an entry in the program local database could be followed or
unfollowed. With this changes the software perform a name lookup
in the client and follow the first user found that match searched
username.
2020-12-20 cage
* quick_quicklisp.sh.in:
- removed installation of 'quri'.
2020-12-20 cage
* README.org, README.txt:
- removed mentioning of manual installation of tooter from README.
2020-12-17 cage
* src/complete.lisp, src/gemini-viewer.lisp,
src/gemini/client.lisp, src/gemini/gemini-parser.lisp,
src/gemini/package.lisp, src/package.lisp, src/program-events.lisp,
src/ui-goodies.lisp:
- changed 'uri' to 'iri' where does makes sense to me.
2020-12-17 cage
* src/gemini-viewer.lisp, src/program-events.lisp,
src/ui-goodies.lisp:
- [gemini] fixed bugs that prevented the same IRI to be opened
multiple-time.
2020-12-14 cage
* NEWS.org, configure, configure.ac, tinmop.asd:
- increased version;
- fixed typo.
2020-12-14 cage
* NEWS.org:
- updated documentation.
2020-12-14 cage
* ChangeLog:
- tracking changes.
2020-12-14 cage
* src/gemini-viewer.lisp, src/gemini/client.lisp,
src/gemini/gemini-parser.lisp, src/iri-parser.lisp:
- [gemini] switched from URI to IRI;
- fixed wrong slot symbol.
2020-12-13 cage
README.org
README.txt
configure
configure.ac
src/gemini-viewer.lisp
src/gemini/client.lisp
src/gemini/gemini-parser.lisp
src/iri-parser.lisp
src/iri-parser.lisp
src/iri-parser.lisp
src/package.lisp
src/package.lisp
src/tests/iri-tests.lisp
src/tests/package.lisp
src/uri-parser.lisp
tinmop.asd
- fixed ssl checking in configure script (was given error when the
library was actually found).
- added mention of gcc and xgettext in README.
- specialize 'normalize-path' on iri;
- changed package name: uri-parser -> uri.
- removed 'uri-' prefix from 'uri' slots names.
- added IRI parser.
2020-12-12 cage
README.org,
README.txt,
configure,
configure.ac,
src/grovel-idn.lisp,
src/idn.lisp,
src/package.lisp,
tinmop.asd:
- added minimal wrapping of libidn2;
- added library checks (libidn2 and libssl) to configure scripts;
- removed commented reference to quri.
2020-12-09 cage
* src/tests/package.lisp, src/tests/x509-tests.lisp, src/x509.lisp,
tinmop.asd:
- fixed segmentation fault whit FFI code (x509 certificate dump).
2020-12-08 cage
* src/ui-goodies.lisp:
- quit the program if user choose to keeps statuses marked for
deletion.
2020-12-08 cage
* etc/init.lisp, src/follow-requests.lisp, src/ui-goodies.lisp:
- exposed to the UI 'refresh-chats';
- fixed type in 'follow-request-window' slot;
- fixed docstring.
2020-12-07 cage
* src/api-client.lisp, src/follow-requests.lisp:
- fixed slot types declaration to allow compilation with newer SBCL.
2020-11-01 cage
* src/gemini-viewer.lisp, src/ui-goodies.lisp:
- [gemini] prevent overwriting of TOFU warning by other messages.
2020-10-25 cage
* LICENSES.org, src/gemini-viewer.lisp,
src/gemini/gemini-parser.lisp, src/package.lisp,
src/tests/gemini-parser-tests.lisp, src/tests/package.lisp,
src/tests/program-events-tests.lisp, src/tests/uri-tests.lisp,
src/uri-parser.lisp, tinmop.asd:
- replaced quri with an internal parser;
- [gemini] the client passes the torture test again;
- fixed event test.
2020-10-24 cage
* src/gemini-viewer.lisp:
- removed debug code.
2020-10-24 cage
* src/gemini-viewer.lisp, src/program-events.lisp:
- [gemini] fixed a regression, display again source of a gemini
file.
2020-10-24 cage
* src/gemini-viewer.lisp:
- [gemini] use named parameter in recursive requests.
2020-10-23 cage
* etc/default-theme.conf, etc/init.lisp, src/db.lisp,
src/gemini-client-certificates-window.lisp, src/gemini-viewer.lisp,
src/gemini/client.lisp, src/keybindings.lisp, src/os-utils.lisp,
src/package.lisp, src/program-events.lisp,
src/software-configuration.lisp, src/specials.lisp,
src/tui-utils.lisp, src/ui-goodies.lisp, tinmop.asd:
- [gemini] implemented a draft of a client authentication (via TLS
certificates).
2020-10-11 cage
* Makefile.am, Makefile.in, configure, configure.ac,
src/config.lisp.in, src/config.lisp.in.in, src/constants.lisp,
src/db.lisp, src/gemini-viewer.lisp, src/gemini/client.lisp,
src/gemini/package.lisp, src/os-utils.lisp, src/package.lisp:
- [gemini] starting using certificates;
- removed hardcoded 'xdg-open' binary name.
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 searching 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 permanence 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 each 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<space><linebreak>
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