diff --git a/.gitignore b/.gitignore index fa5d007..0988e20 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,6 @@ src/config.lisp.in *.patch *.log +make-debian.sh + tinmop diff --git a/ChangeLog b/ChangeLog index b461fbb..68f9df5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,527 @@ +2024-09-27 cage + + * src/db.lisp, + * src/gui/server/json-rpc-communication.lisp, + * src/text-utils.lisp: + + - [GUI] ensured cleaning of temporary files on exit. + - [fediverse] ensured the posts do not contains non printable + characters. + +2024-09-26 cage + + * README.org, + * quick_quicklisp.sh.in, + * src/gui/client/main-window.lisp, + * src/gui/client/program-events.lisp, + * src/gui/client/stream-frame.lisp: + + - [GUI] moved refreshing stream table before starting streaming, to + prevent a race condition. + - [GUI] added comment about race condition; + - [GUI] added name to each thread spawned. + - [GUI] updated comment about the race condition; + - [GUI] try to open a non gemini file even if the mininum buffer size + has not be reached, but the file has been downloaded entirely. + - changed croatoan repository url. + +2024-09-25 cage + + * src/gui/client/main-window.lisp, + * src/ui-goodies.lisp: + + - [GUI] used 'open-iri' to open the redirection iri. + - [fediverse] used quoted lines in reply's text. + +2024-09-24 cage + + * src/db.lisp, + * src/message-rendering-utils.lisp, + * src/package.lisp, + * src/program-events.lisp, + * src/ui-goodies.lisp: + + - [fediverse] removed spurious text added when editing a post; + - [fediverse] fixed mention expanding. + +2024-09-23 cage + + * src/gui/client/main-window.lisp, + * src/ui-goodies.lisp: + + - [GUI] fixed redirection. + - [fediverse] fixed regression: missing quoted text when replying to a + messages without any mention. + +2024-09-22 cage + + * src/db.lisp, + * src/gempub.lisp, + * src/gui/client/main-window.lisp, + * src/html-utils.lisp, + * src/message-rendering-utils.lisp, + * src/package.lisp, + * src/ui-goodies.lisp: + + - [GUI] fixed regression, opening non gemini absolute IRI was not + possible. + - fixed parsing of gempub metadata. + - [fediverse] reworked mention in messages. + +2024-09-21 cage + + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/api-client.lisp, + * src/command-line.lisp, + * src/command-window.lisp, + * src/conversations-window.lisp, + * src/db.lisp, + * src/follow-requests.lisp, + * src/gemini-viewer.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/stream-frame.lisp, + * src/gui/server/main-window-server-side.lisp, + * src/gui/server/public-api-gemini-stream.lisp, + * src/gui/server/public-api.lisp, + * src/keybindings.lisp, + * src/text-utils.lisp, + * src/ui-goodies.lisp: + + - [gui] disabled gempub menu if there is no support for zip files + (zip/unzip executables not found); + - [gui] added to history also local paths. + - [GUI] updated address bar when opening a directory and then a file. + - fixed typos using codespell. + - updated italian translation. + Merge pull request 'Translations update from Codeberg Translate' (#20) + from translate/tinmop:weblate-tinmop-tinmop into master + Translated using Weblate (Italian) + Currently translated at 100.0% (596 of 596 strings) + Translation: tinmop/tinmop + Translate-URL: + https://translate.codeberg.org/projects/tinmop/tinmop/it/ + Merge pull request 'Translations update from Codeberg Translate' (#21) + from translate/tinmop:weblate-tinmop-tinmop into master + - [gui] prevented creating a new file with editor + when a string not representing an absolute IRI, or an existing path in + a local file system was typed on the address bar, the program tried + to open it with an external program (example, starting an editor) + instead of trigger a search on the gemspace. + +2024-09-20 cage + + * src/gui/client/gempub-window.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/menu-command.lisp, + * src/package.lisp: + + - [GUI] added command to import a gempub file. + - [GUI] bound 'delete' key to a routine that delete a gempub. + +2024-09-18 cage + + * Makefile.in, + * aclocal.m4, + * configure, + * configure.ac, + * src/config.lisp.in.in, + * src/gempub.lisp, + * src/gui/client/certificates-window.lisp, + * src/gui/client/gemlog-window.lisp, + * src/gui/client/gempub-window.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/menu-command.lisp, + * src/misc-utils.lisp, + * src/os-utils.lisp, + * src/package.lisp: + + - [GUI] added UI to generate a gempub; + - fixed parser for gempub metadata; + - fixed typo: "clrs" instead of "clsr"; + - added dependency to "zip" binary. + - used 'gpub' as file extension for generated gempub files. + +2024-09-15 cage + + * Makefile.am, + * Makefile.in, + * data/cover.gmi, + * src/db.lisp, + * src/filesystem-utils.lisp, + * src/gui/client/gempub-window.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/scheduler.lisp, + * src/gui/server/public-api-gemini-gempub.lisp, + * src/gui/server/public-api.lisp, + * src/package.lisp: + + - added missing files for gempub managements. + - added 'db:gempub-metadata-id->path'; + - used local nickname instead of importing alexandria for package + 'db'. + - fixed 'fs:temporary-directory'. + - added basic gempub rendering routines. + - [GUI] changed test for checking a local file; + - [GUI] checked, when a image is inlined, if it comes from a local + path, then try to figure out the format from the file's extension; + - [GUI] [gempub] fixed inlining of cover file. + - [GUI] [gempub] forced inlining of cover image. + +2024-09-14 cage + + * doc/tinmop.org, + * etc/shared-gui.conf, + * src/gui/client/main-window.lisp, + * src/gui/client/menu-command.lisp, + * src/gui/client/scheduler.lisp, + * src/gui/server/public-api.lisp, + * src/package.lisp, + * src/zip-info.lisp, + * tinmop.asd: + + - [GUI] added initial support for gempub; + - [DOC] fixed syntax of query language for searching in gempub + library. + +2024-09-08 cage + + * src/api-client.lisp: + + - [fediverse] flipped predicate for notifications that does not need + to be deleted from the server. + +2024-09-07 cage + + * src/api-client.lisp: + + - [fediverse] ensured :follow-request and :mentions are kept on the + server when deleting noticfications. + +2024-09-06 cage + + * data/modules/fetch-expired-poll.lisp, + * etc/default-theme.conf, + * src/api-client.lisp, + * src/gempub.lisp, + * src/hooks.lisp, + * src/package.lisp: + + - fixed rule's name, this bug leads to a crash when extracting + metadata from a gempub file. + - fixed indentation. + - [TUI] dimmed a bit the blue in the default theme and used white + instead of yellow in a few window, also changed colors for dialog + window. + - dimmed some theme's colors. + - [TUI] changed colors for default theme. + - [TUI] changed some values of default theme. + - added 'hooks:*after-getting-all-fediverse-notifications*'; + - trigger the script to fetch expired polls only after all the + notifications has been fetched from the server. + +2024-09-04 cage + + * src/gemini/client.lisp, + * src/gui/client/gemlog-window.lisp, + * src/gui/client/main-window.lisp, + * src/json-rpc2.lisp, + * src/package.lisp: + + - [GUI] ensured deadline conditions is respected by gemlog subscribing + procedures. + - [gemini] using asynchronous timeout instead when opening a socket as + the function to open a socket does not respect deadline established + with 'sb-sys:with-deadline'. + +2024-09-03 cage + + * etc/shared.conf, + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/ui-goodies.lisp: + + - [fediverse] added a commented line on top when composing a new post; + - updated italian translation. + - [fediverse] added comment line character when composing posts. + +2024-09-01 Omar Polo, cage + + * ChangeLog, + * LICENSES.org, + * NEWS.org, + * README.org, + * doc/tinmop.man, + * doc/tinmop.org, + * etc/default-theme.conf, + * etc/init.lisp, + * etc/shared.conf, + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * quick_quicklisp.sh.in, + * src/api-client.lisp, + * src/command-line.lisp, + * src/command-window.lisp, + * src/complete.lisp, + * src/conditions.lisp, + * src/constants.lisp, + * src/db-utils.lisp, + * src/db.lisp, + * src/emoji-shortcodes.lisp, + * src/filesystem-tree-window.lisp, + * src/filesystem-utils.lisp, + * src/gemini-viewer.lisp, + * src/gemini/client.lisp, + * src/gemini/titan.lisp, + * src/gui/client/gui-goodies.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/stream-frame.lisp, + * src/gui/server/public-api-gemini-stream.lisp, + * src/idn.lisp, + * src/iri-parser.lisp, + * src/json-rpc2.lisp, + * src/kami/client.lisp, + * src/keybindings.lisp, + * src/line-oriented-window.lisp, + * src/message-rendering-utils.lisp, + * src/message-window.lisp, + * src/misc-utils.lisp, + * src/num-utils.lisp, + * src/open-attach-window.lisp, + * src/package.lisp, + * src/program-events.lisp, + * src/resources-utils.lisp, + * src/software-configuration.lisp, + * src/ui-goodies.lisp, + * src/windows.lisp: + + fix typos; joint work with codespell(1) + Merge pull request 'fix typos; joint work with codespell(1)' (#19) + from op/tinmop:typos into master + - added comments when composing posts. + - fixed typo: 'octect' to 'octet'; + - removed fuzzy mark from italian transtation file. + - fixed code formatting. + - deprecated "crypted" as valid configuration directive. + +2024-08-31 cage + + * LICENSES.org, + * data/emoji-shortcodes.json, + * etc/default-theme.conf, + * etc/shared.conf, + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/emoji-shortcodes.lisp, + * src/gui/client/main-window.lisp, + * src/main.lisp, + * src/package.lisp, + * src/software-configuration.lisp, + * src/ui-goodies.lisp: + + - [TUI] added conversion of shortcodes to emoji when composing a + fediverse post. + - removed debugging code. + - deprecated configuration directive 'post-allowed-language'; + - added configuration directive for comments in composed posts. + - deleted unreachable code (links are rendered without the help of + 'key->colors', see 'render-link' on the same file). + +2024-08-30 cage + + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/gui/client/gemlog-window.lisp, + * src/gui/client/main-window.lisp: + + - [GUI] added a button to popup menu to subscribe to a gemlog link. + - [GUI] refresh gemlog window when marking posts as already read. + - updated italian translation. + +2024-08-26 cage + + * src/command-line.lisp, + * src/package.lisp: + + - added code to allow scripts to gets their command line switches + those switches (if any) after the "--" are returned by function + "script-arguments" + and can be used by scripts. + +2024-08-25 cage + + * src/command-line.lisp, + * src/gui/client/gemlog-window.lisp, + * src/gui/server/public-api-gemini-gemlog.lisp: + + - [GUI] added button to subscribe to a gemlog from gemlog window. + - [GUI] notify to user any conditions (to include deadlines) when + refreshing gemlogs. + - cleaned up bash completion procedures. + +2024-08-24 cage + + * LICENSES.org, + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/gemini-viewer.lisp, + * src/gemini/client.lisp, + * src/gemini/package.lisp, + * src/gemini/subscription.lisp, + * src/gemini/titan.lisp, + * src/gui/client/main-window.lisp, + * src/gui/client/titan-window.lisp, + * src/gui/server/public-api-gemini-gemlog.lisp, + * src/gui/server/public-api-gemini-stream.lisp, + * src/gui/server/public-api.lisp, + * src/package.lisp, + * src/x509.lisp: + + - [gemini] added a notice when connecting with an host that provided + an expired certificate; + - added more information on license file. + - updated italian translation. + +2024-08-10 cage + + * etc/default-theme.conf, + * src/keybindings.lisp, + * src/line-oriented-window.lisp, + * src/ui-goodies.lisp: + + - [TUI] ensured the help window uses 'help-dialog' configuration + directives; + - [TUI] changed default color for info windows. + +2024-08-04 cage + + * po/ca.po, + * po/de.po, + * po/es.po, + * po/fr.po, + * po/it.po, + * po/pl.po, + * po/tinmop.pot, + * src/api-client.lisp, + * src/gui/client/gemlog-window.lisp, + * src/gui/client/main-window.lisp, + * src/software-configuration.lisp: + + - [GUI] added index column to gemlog window. + - updated italian translation. + - [GUI] prevented stack overflow (ensured TCO) when downloading a non + gemini text file. + - removed possible infinite loop when getting many notification (the + exact number depends from from the server configuration, usually more + then 15 notifications would remove the exit condition of the loop). + Thanks to the fediverse! :-) + +2024-08-02 cage + + * etc/shared-gui.conf, + * src/gemini/gemini-parser.lisp, + * src/gui/client/main-window.lisp, + * src/iri-parser.lisp, + * src/package.lisp: + + - [GUI] fixed URI printed on address bar when opening an URI from the + command line (switch '-o'); + - [GUI] changed selection colors in gemtext widget. + - fixed 'iri:absolute-url-p'; + - fixed 'gemini-parser:absolutize-link'. + +2024-08-01 cage + + * src/gui/client/main-window.lisp: + + - [GUI] ensure the default text for the gemini text widget respects + the directive 'text color' in the configuration file for simple text + line type. + +2024-07-31 cage + + * src/gui/client/main-window.lisp, + * src/gui/client/program-events.lisp, + * src/program-events.lisp: + + - added nested expansion of 'with-enqueued-process-and-unblock' and + 'enqueue-request-and-wait-results'. + +2024-07-27 cage + + * src/gui/client/main-window.lisp, + * src/program-events.lisp: + + - [GUI] fixed crash when zooming or unzooming a gemtext window with + inlined images. + - [GUI] removed bindings to return to a previously visited page (maybe + added for testing?). + +2024-07-20 cage + + * etc/shared-gui.conf, + * src/program-events.lisp: + + - modified default GUI theme. + - prevented to replace a post's content with an empty text. + +2024-07-11 cage + + * doc/tinmop.man, + * doc/tinmop.org: + + - updated docs. + +2024-07-10 cage + + * src/db.lisp, + * src/package.lisp, + * src/program-events.lisp: + + - ensured no reconstruction of parents id done when deleting a status + after remote editing; + - removed status to ensure get the latest version from the server when + updating a timeline or expanding a thread (and forcing ignoring of + logical deleted posts). + 2024-07-07 cage + * ChangeLog, + * NEWS.org, * po/it.po: - removed fuzzy bit otherwise MO file will not contains such entry. + - updated news and changelog. 2024-07-06 cage diff --git a/configure b/configure index d9a9f5e..7c01b43 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for tinmop 0.9.9.14142135623. +# Generated by GNU Autoconf 2.72 for tinmop 0.9.9.141421356237. # # Report bugs to . # @@ -604,8 +604,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='tinmop' PACKAGE_TARNAME='tinmop' -PACKAGE_VERSION='0.9.9.14142135623' -PACKAGE_STRING='tinmop 0.9.9.14142135623' +PACKAGE_VERSION='0.9.9.141421356237' +PACKAGE_STRING='tinmop 0.9.9.141421356237' PACKAGE_BUGREPORT='https://codeberg.org/cage/tinmop/' PACKAGE_URL='https://www.autistici.org/interzona/tinmop.html' @@ -1347,7 +1347,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures tinmop 0.9.9.14142135623 to adapt to many kinds of systems. +'configure' configures tinmop 0.9.9.141421356237 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1418,7 +1418,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of tinmop 0.9.9.14142135623:";; + short | recursive ) echo "Configuration of tinmop 0.9.9.141421356237:";; esac cat <<\_ACEOF @@ -1523,7 +1523,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -tinmop configure 0.9.9.14142135623 +tinmop configure 0.9.9.141421356237 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -1766,7 +1766,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by tinmop $as_me 0.9.9.14142135623, which was +It was created by tinmop $as_me 0.9.9.141421356237, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -3060,7 +3060,7 @@ fi # Define the identity of the package. PACKAGE='tinmop' - VERSION='0.9.9.14142135623' + VERSION='0.9.9.141421356237' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -8923,7 +8923,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by tinmop $as_me 0.9.9.14142135623, which was +This file was extended by tinmop $as_me 0.9.9.141421356237, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8983,7 +8983,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -tinmop config.status 0.9.9.14142135623 +tinmop config.status 0.9.9.141421356237 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index b339b2b..75f2560 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program. dnl If not, see [[http://www.gnu.org/licenses/][http://www.gnu.org/licenses/]]. -AC_INIT([tinmop],[0.9.9.14142135623],[https://codeberg.org/cage/tinmop/],[tinmop],[https://www.autistici.org/interzona/tinmop.html]) +AC_INIT([tinmop],[0.9.9.141421356237],[https://codeberg.org/cage/tinmop/],[tinmop],[https://www.autistici.org/interzona/tinmop.html]) AM_INIT_AUTOMAKE([-Wall foreign]) diff --git a/tinmop.asd b/tinmop.asd index 5671b40..1ed9e3a 100644 --- a/tinmop.asd +++ b/tinmop.asd @@ -18,7 +18,7 @@ (defsystem :tinmop :author "cage" :license "GPLv3+" - :version "0.9.9.14142135623" + :version "0.9.9.141421356237" :pathname "src" :serial t :bug-tracker "https://codeberg.org/cage/tinmop/issues"