1
0
Fork 0
Commit Graph

320 Commits

Author SHA1 Message Date
cage b37c590265 - prevented crash when sending message to command did not worked.
Printing error to command line instead.
2021-02-02 20:44:18 +01:00
cage 0fc46fa1b5 - removed dependency from libidn2
punycode encoding  comes from  an internal implementation  istead of
  using an C library.
2021-01-31 13:08:34 +01:00
cage 52393e2a5e - [gemini] fixed canceling subscription to gemlogs. 2021-01-28 16:14:00 +01:00
cage 17401274b5 - [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.
2021-01-28 15:35:26 +01:00
cage c66a71881e - 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-27 20:31:18 +01:00
cage 1710ac5b48 - added feature to allow users ro configure symbols rendered for each toot visibility level in main window. 2021-01-24 16:15:42 +01:00
cage c75efe0638 - prevented crash truncating the scaled width of tags window. 2021-01-24 14:53:43 +01:00
cage 3daf205dd8 - prevented non rendering of 'new-message' character in tags window. 2021-01-24 14:46:13 +01:00
cage aae3aed7d4 - made 'text-utils:strim-blanks' returns nil and not "NIL" when input is null;
- [gemini] trim whitespaces from link name.
2021-01-24 12:20:18 +01:00
cage 1f0cc71884 - [gemini] shown selected row in gemlog subscription window. 2021-01-24 11:48:25 +01:00
cage ecec01f285 - [gemini] made slurp-gemini-url works with redirect;
- [gemini] made some refactoring for building redirect IRIs.
2021-01-23 16:25:37 +01:00
cage 3962af0256 - changed db-nil-p
this function was transforming "no" and even 0.0 (floating point number) to nil.

That behaivour was incorrect for  numbers and probably not desiderable
for the  string no  (in fact  poll with "No"  option was  not rendered
beacause of this fact).

Removed conversion  for non- integer numbers  and prevented conversion
from some  kind of  non empty string  (like "nil" or  "no") via  a key
argument.
2021-01-23 15:40:51 +01:00
cage 6356331408 - [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-18 20:16:47 +01:00
cage 0fe939ea1d - shown a message when user's searching for commands retuns no results.
- updated italian translation

- improved a bit a signle docstring
2021-01-17 20:37:26 +01:00
cage 848ed6a043 - [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
  retuns 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 autentication.
2021-01-17 19:13:33 +01:00
cage 8e58698bfa - added some more tests for checking missing values from configuration files. 2021-01-16 13:17:15 +01:00
cage f4ec44adc1 - added some more human friendly error messages. 2021-01-16 11:29:39 +01:00
cage 382c61818d - create an empty config file if the user did not provided oopne, instread of printing an error and exit. 2021-01-13 17:28:23 +01:00
cage 72254f981a - prevented authorization of client if no server nameahs been provided
by the user in the config file.
2021-01-12 20:31:44 +01:00
cage 766367369c - added scheduling of purging of old gemlog's posts;
- updated italian translation.
2021-01-11 19:36:43 +01:00
cage ad33ca61df - [gemini] prevent gemlog window to lose focus when a gemlog is selected.
- made gemlog window close when focus passes to thread window.
2021-01-11 19:14:53 +01:00
cage 8aa7e223a3 - [gemini] mark post as read when opening the corresponding link. 2021-01-11 19:00:00 +01:00
cage db3b014bb8 - [gemini] fixed reendering of 'seen' flag for gemini post;
- fixed italian translation.
2021-01-11 18:57:01 +01:00
cage 7f5a21c9ed - [gemini] ensure link opened is saved in history. 2021-01-11 18:21:38 +01:00
cage 44b6c62e44 - [gemini]
- added command to refresh all gemlogs;
  - added scheduled refresh of all gemlogs;
  - fixed sorting of gemlog posts.
2021-01-10 13:01:03 +01:00
cage f09b0f4aa3 - [gemini]
- prevent crash when subscribing to an already subscribed gemlog;
  - added cancel of subscriptions.
2021-01-10 11:35:28 +01:00
cage 0cb5ef9c29 - used pkg-config in the libidn2 grovel file (thanks to yumh!). 2021-01-09 19:38:58 +01:00
cage eac0b7b5a7 - fixed message. 2021-01-09 16:28:59 +01:00
cage a0f8c83681 - [gemini] added a draft for gemlog subscriptions. 2021-01-09 16:27:40 +01:00
cage f6c02041ef - [gemini] added subscription command to gemlog. 2021-01-09 11:01:10 +01:00
cage 7e32091b6f - [gemini]
Started with gemlog subscription, added database table and interface
  and subscribing API.
2021-01-08 18:21:43 +01:00
cage ade19e76c5 - rendered visibility of a status when printed on the main window;
- tested with latest croatoan: no problem so far.
2021-01-06 11:42:23 +01:00
cage e9b7a45214 - removed IDN2_NO_ALABEL_ROUNDTRIP from grovel file for libidn2 (see previous commit message). 2021-01-03 20:24:28 +01:00
cage ad10c2517d - removed IDN2_ALABEL_ROUNDTRIP_FAILED 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-03 19:29:16 +01:00
cage edd1aba2fe -[gemini] added urls to history if document is loaded from cached content too. 2021-01-03 11:28:54 +01:00
cage b846dff5ba - fixed hooks for remapping links in gemini window. 2021-01-02 18:06:20 +01:00
cage 62bd4ac19f - do not repeat a search if no search has been performed before. 2021-01-02 11:29:46 +01:00
cage 0e2e883d1a - added hook to all links displaying windows. 2020-12-31 19:18:21 +01:00
cage 55667c2511 - reverse link order in window. 2020-12-31 16:06:19 +01:00
cage a3c2550ff4 - Added a command line switch to load a module.
- fixed 'run-hook-compose'.
2020-12-31 15:36:10 +01:00
cage 8dae8ddac2 - added 'run-hook-compose';
- added a module to rewrite URLs.
2020-12-31 14:58:40 +01:00
cage b8d7af915c - 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-31 11:54:40 +01:00
cage e9e4071132 - moved function. 2020-12-31 11:38:37 +01:00
cage 3245239eee - added a profiling macro;
- added function to stop event dispatching.
2020-12-31 11:36:34 +01:00
cage e87fc07e25 - allow repeat search on links window's items. 2020-12-30 12:38:31 +01:00
cage abec6a9322 - added a command to send data to an external program. 2020-12-30 12:24:13 +01:00
cage 7a98df4a5a - [gemini] fix split when separator is at the end of a path. 2020-12-29 20:36:42 +01:00
cage 9876213933 - using a cache for username completion. 2020-12-29 19:14:18 +01:00
cage aa24c49753 - changed default completion function to "no completion". 2020-12-29 18:39:45 +01:00
cage 77b7188581 - added command to repeat the last text search. 2020-12-29 13:01:59 +01:00
cage 94a8e29f84 - [gemini] added a command to refresh a page;
- refactoring some code to add the above command.
2020-12-29 12:36:22 +01:00
cage f0b6a00d6b - improved 'percent-decoded-p'. 2020-12-28 17:33:35 +01:00
cage fb83d673f9 - reorganized modules and scripts directories;
- removed spurious NIL when writing a message.
2020-12-28 15:37:13 +01:00
cage 3549f9cd03 - added missing call to format. 2020-12-28 15:21:53 +01:00
cage 5151fbe4a2 - [gemini] allow percent encoding of query, path and fragment only if not already encoded. 2020-12-28 12:40:47 +01:00
cage 6c590dbf1a - fixed welcomebot and moved to a new directory "scripts";
Also export some symbols that this script uses, from others packages.
2020-12-28 12:12:23 +01:00
cage 47fa796bc6 - added a module to share a gemini page on pleroma. 2020-12-27 14:51:59 +01:00
cage 40a46d584e - fixed false positive for new message on subscribed tags. 2020-12-26 20:11:40 +01:00
cage 928fc1ee7d - removed warning for missing constants in grovel file. 2020-12-25 20:32:31 +01:00
cage e32e025d10 - [gemini] percent encoding path query and fragment before perfoming the request. 2020-12-25 18:24:12 +01:00
cage 9fd958d12b - fixed IRI and URI parser;
- taken into account fragment of IRI;
- added more IRI and URI test;
- passes all the client tests.
2020-12-25 18:23:32 +01:00
cage d0c9ea0d70 - fixed swappend functions (unfollow -> follow). 2020-12-21 14:59:30 +01:00
cage 7b957adfcf - [gemini] fixed bug that prevented visit the same link more than once. 2020-12-21 14:35:59 +01:00
cage ba4577d223 - 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-21 12:11:15 +01:00
cage c9d9559f1a - changed 'uri' to 'iri' where does makes sense to me. 2020-12-17 13:56:07 +01:00
cage bafa0c596b - [gemini] fixed bugs that prevented the same IRI to be opened multiple-time. 2020-12-17 13:12:16 +01:00
cage 2138021412 - [gemini] switched from URI to IRI;
- fixed wrong slot symbol.
2020-12-14 13:58:28 +01:00
cage c0abc807d1 - specialize 'normalize-path' on iri;
- changed package name: uri-parser -> uri.
2020-12-13 16:27:22 +01:00
cage 62394d319a - removed 'uri-' prefix from 'uri' slots names. 2020-12-13 15:29:04 +01:00
cage 13fdc439a8 - added IRI parser. 2020-12-13 15:27:55 +01:00
cage 5f8c9d422e - added minimal wrapping of libidn2;
- added library checks (libidn2 and libssl) to configure scripts;
- removed commented reference to quri.
2020-12-12 14:49:31 +01:00
cage 4bd55eac50 - fixed segmentation fault whit FFI code (x509 certificate dump). 2020-12-09 10:44:04 +01:00
cage cf90c07c4e - quit the program if user choose to keeps statuses marked for deletion. 2020-12-08 19:05:04 +01:00
cage fe16fc7c1c - exposed to the UI 'refresh-chats';
- fixed type in 'follow-request-window' slot;

- fixed docstring.
2020-12-08 11:31:21 +01:00
cage 51d414d053 - fixed slot types declaration to allow compilation with newer SBCL. 2020-12-07 15:17:18 +01:00
cage e412b5905a - fixed reply
when replying to a boosted message use the original author as sender, not the person that made the boost.
2020-11-07 15:57:45 +01:00
cage 1c1c94a56a - [gemini] prevent overwriting of TOFU warning by other messages. 2020-11-01 18:01:32 +01:00
cage 664e8212ce - replaced quri with an internal parser;
- [gemini] the client passes the torture test again;

- fixed event test.
2020-10-25 19:58:05 +01:00
cage 1ef820062a - removed debug code. 2020-10-24 14:23:13 +02:00
cage 9adf79a65b - [gemini] fixed a regression, display again source of a gemini file. 2020-10-24 14:22:09 +02:00
cage a8b5524fcb - [gemini] use named parameter in recursive requests. 2020-10-24 14:05:27 +02:00
cage 269a08718c - [gemini] implemented a draft of a client authentication (via TLS certificates). 2020-10-23 20:57:17 +02:00
cage 0fd83f7745 Merge branch 'master' into gemini-client-cert 2020-10-11 18:58:52 +02:00
cage 979fb9a068 - [gemini] [bugfix] clear page when rendering starts after a gemini
page's download is completed.

  When a page  is fully downloaded before the rendering  is started an
  event  is  triggered  to  'compact'  all  the  rendering  events  (a
  rendering of  a single line  of the gemini  file) in a  single event
  that renders the rest of the page.

  If this 'bulk' rendering was started without a rendering of a single
  line occurred  the information  about clearing the  rendering window
  (before render the text) was not took into account.  This patch adds
  the check for this information.
2020-10-11 18:51:55 +02:00
cage 497efa6a92 - [gemini] starting using certificates;
- removed hardcoded 'xdg-open' binary name.
2020-10-11 18:22:07 +02:00
cage a1be604bc4 - removed debug code. 2020-10-06 20:17:30 +02:00
cage 911c80dc25 - [gemini] remove a bottleneck when download of a gemini page is completed;
Instead  of process  multiple event  with  a single  line to  render
  compact all the lines in a single event and, then, process it.
2020-10-06 19:15:23 +02:00
cage 0274841672 - added searching in command's help. 2020-10-03 21:08:55 +02:00
cage a54e05a05f - added the possibility to search inside a widows that contains a collection of links. 2020-10-03 16:58:02 +02:00
cage d5f0121923 - fixed keymap of messages window when switching focus or opening a toot. 2020-10-02 18:26:59 +02:00
cage 5feb137128 - actually use the compiled regex-scanner when seraching text in the
message window;
- increased refresh frequency;
- removed author name from NEWS.org.
2020-10-02 15:54:54 +02:00
cage 0f1587bf14 - [gemini] removed waiting for rendering of a page before going back in browsing history. 2020-10-01 16:48:59 +02:00
cage ce61ab6537 - [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-10-01 16:41:24 +02:00
cage 02ce8fd187 - [gemini] remove all pending rendering events when quitting. 2020-09-30 18:24:58 +02:00
cage f1a0715c2b - [gemini] remove from the event queue all the lines got from a gemtext download
when aborting a download.
2020-09-30 16:36:34 +02:00
cage 4bbb0184e1 - removed nethod 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-27 18:19:26 +02:00
cage 1bf02d1fda - 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 20:39:04 +02:00
cage 2f13acdc7f - add mentions only is not empty or nil, previous check just tested for null. 2020-09-26 12:50:02 +02:00
cage dee8b18b9c - added mention only if non-nil (when sending a status). 2020-09-24 20:49:18 +02:00
cage 9895f2ef98 - 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-19 19:13:45 +02:00
cage b10ba55932 - fixed indentation. 2020-09-18 22:27:11 +02:00
cage 13cb2e810e - lowered permancence of notification when updating timelines;
- fixed managing of editor arguments.
2020-09-18 21:43:13 +02:00
cage fd53ec036d - Added optional mentions before sending a message. 2020-09-18 16:32:04 +02:00
cage c0c0134972 - fixed indentation. 2020-09-18 15:55:22 +02:00
cage d6bc8da305 - fixed repeating of an already repeated message. 2020-09-14 20:52:19 +02:00
cage d08f4a67d1 - [gemini] fixed command: back in history. 2020-09-12 14:35:54 +02:00
cage 99977af671 - added exit handler to clean temporary files. 2020-09-12 11:16:15 +02:00
cage 0cfdb8844e - [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 (thre is no one at the end);
- commented and improved some regular expressions for coloring.
2020-09-12 10:23:26 +02:00
cage f6744dad4a - [gemini] clear the streams window before redrawing when refreshing the window's contents. 2020-09-11 15:40:25 +02:00
cage 5ad0a67195 - [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-11 15:18:59 +02:00
cage 0e09efca2c - fixed chat list windows items. 2020-09-10 20:21:07 +02:00
cage 52f550df5e - added feature create new chat;
- fixed crash when selecting a chat with no messages.
2020-09-10 17:50:22 +02:00
cage c26ca88e60 - changed position and (configurable) colors for chat window;
- added feature: change chat labels.
2020-09-09 21:13:57 +02:00
cage 6b0e7c1f73 - prevent printing of chat messages from ignored users. 2020-09-07 20:28:06 +02:00
cage 2d66bdd63d - added chat attachments browsing window. 2020-09-06 20:17:34 +02:00
cage f135292e53 - basics chats works. 2020-09-06 17:28:16 +02:00
cage 49880b986d - given focus to message window when a chat is opened;
- scroll to end of chat when new message arrived.
2020-09-06 16:37:57 +02:00
cage b2b3e65431 - 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 14:42:16 +02:00
cage c5118d46a6 - changed GPL comment headers. 2020-09-06 11:32:08 +02:00
cage a129f14834 - fixed vertical position of line mark in message window. 2020-09-06 11:25:23 +02:00
cage 6135cc5c02 - 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-06 11:18:49 +02:00
cage 5721bb411c - minor cleaning. 2020-09-05 17:10:55 +02:00
cage 75d81ec708 - chats can be fetched, via UI, and printed on window. 2020-09-05 17:02:00 +02:00
cage 4046f516f8 - [pleroma-API] added 'fetch-chat-message. 2020-09-02 17:17:16 +02:00
cage 9902d3d430 - added tables for chats;
- fixed some slot names for chat entities.
2020-09-02 17:02:52 +02:00
cage 91145e7f37 - [pleroma-API] added a few function to use chats. 2020-09-02 16:30:13 +02:00
cage f7d025ea2a - [gemini] added a window to manage all the gemini streams opened. 2020-08-30 15:38:05 +02:00
cage 1c3a3d9bff - [gemini] starting download thread in ':rendering' status. 2020-08-29 11:13:29 +02:00
cage 4941c21d94 - [gemini] added slot 'status-stream'.
This will allow to enqueue multiple documents download.
2020-08-29 10:53:52 +02:00
cage 940525a6fe - 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.
2020-08-28 17:52:00 +02:00
cage 0bb4406be7 - [gemini] wrapped non gemini files download's thread.
Also added a few of useful slotslike temporary file path and number of
  bytes downloaded so far.
2020-08-28 17:20:44 +02:00
cage 8ae83a2323 - 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-27 17:51:40 +02:00
cage 7c7d02498a - [gemini] allowed secret input. 2020-08-18 19:14:33 +02:00
cage f4ef9ff9e8 - readded some functions (synctatic sugar to manipulate croatoan's 'complex-*' object). 2020-08-16 11:28:14 +02:00
cage dd1e4f6066 - added a slot in 'command-window' to allow the user to insert secret
input.

 the same character is echoed instead of the actual input.
2020-08-16 11:27:38 +02:00
cage 5169deaedd - tracking changes in croatoan.
- some function in 'tui-utils' are just wrappers for the equivalents in the library.
2020-08-14 20:15:30 +02:00
cage 4c98fd675a - added more docstrings. 2020-08-14 18:23:20 +02:00
cage 38585b27ac - changed 'cat-' function names with 'concat-'. 2020-08-14 17:49:37 +02:00
cage e2ad37a520 - use new i18n feature form unix-opt to localize program's usage messages. 2020-07-28 15:58:35 +02:00
cage bc171fb14a - [gemini] added the possibility to abort current page download. 2020-07-26 16:34:05 +02:00
cage 1eeed9538e - [gemini] download of non gemini documents happens in a concurrent
way (in a different thread)
- [gemini] prevent links to be appended even when user is opening a new document;
- [gemini] added a notification when download of a gemini document has terminated.
2020-07-26 13:29:24 +02:00
cage 254cd94720 - [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).
2020-07-26 12:07:26 +02:00
cage f5d4d878ec - do not mentions people that do not appears in the current thread. 2020-07-19 13:27:40 +02:00
cage 7b48939deb - tried to fix mentioning of non local user in reply. 2020-07-18 13:03:58 +02:00
cage 133ac1a48d - prevented a crash if an invalid regular expression is used
when searching in a message window.
2020-07-17 20:24:25 +02:00
cage 6b0fab863d - [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.
2020-07-15 15:49:49 +02:00
cage f8230fbb89 - fixed bug that prevented rendering of levels 3 headers. 2020-07-15 13:08:58 +02:00
cage 98d6021f7a - fixed information string. 2020-07-15 12:41:27 +02:00
cage fb0fd48865 - [gemini] added the option to view gemini page's source. 2020-07-15 12:40:30 +02:00
cage 562d023b55 - fixed regex for percent numbering;
- formatted as floating points votes percentage in polls.
2020-07-13 17:27:46 +02:00