1
0
Fork 0
Commit Graph

1204 Commits

Author SHA1 Message Date
cage 17bb9f5f15 - fixed 'percent-encoded-p'. 2021-03-15 19:48:02 +01:00
cage 0c2398c184 - fixed hex digit parsing from iri parser;
- added more debugging messages;

- fixed formatting.
2021-03-15 19:28:07 +01:00
cage b3c3d8a232 - prevented crash when removing two (or more) statuses that reblogged the same status.
When more  than one statuses points  to the same reblogged  status and
more the one of the formers  is deleted the first deletion will remove
the reblogged  status as well  and the second  will try to  remove the
same (already removed from db) status. This makes the program crash.
2021-03-15 18:33:16 +01:00
cage 4d2ac3a751 - fixed chat api;
- fixed regression, loading scripts works again.
2021-03-14 13:26:06 +01:00
cage b1eb1a2664 - changed wrong parameter's name: 'limits' -> 'limit'. 2021-03-14 11:04:20 +01:00
cage f03880a7cf - used version 2 for get chats. 2021-03-13 20:50:04 +01:00
cage 81e5c3eba1 - 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.
2021-03-13 18:46:01 +01:00
cage f0bc12c435 - made explicit the folder for parent (reblogged) messages. 2021-03-13 13:20:32 +01:00
cage c621f9f25c - fixed docstring. 2021-03-13 13:19:46 +01:00
cage b73f982408 - 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.
2021-03-09 11:32:09 +01:00
cage 8b99548e6e - made nicer the error message when a directive is missing from configuration file. 2021-03-09 10:19:01 +01:00
cage 8230056152 - [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-21 12:23:01 +01:00
cage 04ca1d14c1 - fixed crash when starting the program without a configuration file. 2021-02-20 18:28:49 +01:00
cage cc146a652c - changed ':draw-border' to ':border' to track the new croatoan API. 2021-02-19 17:38:39 +01:00
cage ae178546b9 - added version 2 of get chat list endpoint. 2021-02-19 16:34:38 +01:00
cage 7b3a97a3ec - fixed append. 2021-02-18 20:03:34 +01:00
cage bb53d98f4c - improved a bit rendering of text in message window. 2021-02-18 19:43:27 +01:00
cage 121eaed346 - reverting order of packaging. 2021-02-13 19:35:24 +01:00
cage 8f0f4af090 - moving tiu-utils symbols before software-configuration. 2021-02-13 19:15:01 +01:00
cage 8f757b563b - allowed users (via caonfiguration directive) to use (or not) cache when opening a link with a custom program. 2021-02-13 12:37:37 +01:00
cage bc3e7685a7 - prevented crash when a program to open a link is not found. 2021-02-11 15:27:58 +01:00
cage 07d04f760a - [gemini] complete URL on command line matching substring in any position, not only at the start of the URL. 2021-02-10 20:34:08 +01:00
cage 7eea02992c - respected arguments of a program when opening a link. 2021-02-10 18:02:06 +01:00
cage 3df833b248 - added configuration directive to use a specific program to open a
link (e.g. open all mp3 files with program mpv).
2021-02-10 17:43:40 +01:00
cage cc82ceff02 - [gemini] removed useless 'unwind-protect' (and simplified code) from 'gemini-client:request'. 2021-02-09 20:15:57 +01:00
cage ae82420cfe - [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-09 19:32:48 +01:00
cage 4f4a3f4476 - [gemini] ensured 'gemini-viewer:request' respects the 'enqueue'
argument when making recursive call to itself.
2021-02-07 13:50:52 +01:00
cage dc9e23e3c0 - [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-07 13:50:52 +01:00
cage 08c803bfba - replaced local function 'fetch-cached-certificate' with a global one. 2021-02-07 13:50:52 +01:00
cage e32358c6d5 - replaced local function with a global one. 2021-02-07 13:50:52 +01:00
cage 6a1ea415f7 - [gemini]
- added some messages to debug protocol;
  - asking  for query  event  got minimum  priority  to prevent  being
    hidden  by informational  messages on  the command  line (e.g  the
    message that  inform the  user that  the client  is going  back in
    history);
  - always stream contents that are repsonses to a query;
  - added      gemini-client:request-dispatch       and      rewritten
    gemini-client:slurp-gemini-url based on the former.
2021-02-07 13:50:40 +01:00
cage 986ea84313 - added hook '*after-saving-message*. 2021-02-06 12:29:31 +01:00
cage 1c6defddf1 - fixed indentation of 'gemini-viewer:request'. 2021-02-02 20:58:23 +01:00
cage d0a9b6583a - [gemini] encoded the input string before making the request. 2021-02-02 20:57:30 +01:00
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
cage c84de306c8 - [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-08 18:38:17 +02:00
cage 9e4f3cc180 - correctly enqueued multiple "update timeline" commands. 2020-07-06 16:11:34 +02:00
cage 49214475ab - [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-04 11:15:55 +02:00
cage 9788bf12fb - prevented crash when 'original-path' is nil. 2020-07-02 20:26:40 +02:00
cage 64ffd305bd - fix expanding of message threads: expands reblogged toots if exists;
- added some vertical space before rendering poll.
2020-07-02 20:20:23 +02:00
cage 1f3ed228a3 - [gemini viewer] fixed history navigation. 2020-06-29 12:29:11 +02:00
cage ab4b871ef5 - [gemini browser] added a 'go-back' command. 2020-06-28 17:39:21 +02:00
cage d1266fa422 - fixed bug that prevented to properly reset links list when in gemini mode. 2020-06-28 12:59:23 +02:00
cage ee862ac62b - added command 'open-gemini-address'. 2020-06-28 12:36:59 +02:00
cage 4aae454fb1 - gave focus back to message window when closing link window in gemini mode. 2020-06-28 11:46:24 +02:00
cage 62d3356e78 - made the program asks for redirects following only when the event
queue is empty;
- added 'gemini-request-event';
- minor refactoring.
2020-06-27 22:50:46 +02:00
cage 492eaf6f76 - added more parameters for each function that could be added to
`*skip-message-hook*';
  - changed unique constrains for TOFU table.
2020-06-27 10:50:40 +02:00
cage 15987cc5b2 - added '*skip-message-hook*' (with example). 2020-06-25 14:38:14 +02:00
cage b4f78df9b4 - added signature in the correct position when replying. 2020-06-25 12:29:35 +02:00
cage 9229d4dd08 - added support for signature. 2020-06-24 19:42:05 +02:00
cage fc43ffb423 - collected gemini links too. 2020-06-23 16:50:15 +02:00
cage 8959776ae4 - added opening links command when focus is on the gemini window;
- removed spaces from beginning of "about" message.
2020-06-23 16:27:43 +02:00
cage d8ea5093f7 - removed trim in preformatted text. 2020-06-23 16:21:26 +02:00
cage 28917208d6 - added a command line option to retrieve a gemini URL. 2020-06-23 15:51:43 +02:00
cage f861d80b8c - [gemini] percent encoded query. 2020-06-23 15:22:28 +02:00
cage a69bc4f6cb - used 'notify' instead of error message. 2020-06-23 13:13:59 +02:00
cage a683c2aecd - changed function name: 'temporary-filename' to 'temporary-file'. 2020-06-23 13:12:35 +02:00
cage cf7a19dd04 - allowed the user to bypas TOFU exception;
- fixed TOFU check.
2020-06-23 11:47:21 +02:00
cage 9461c0ea70 - gemini client works (but missing client authorization using certificates). 2020-06-22 14:03:06 +02:00
cage ffdd960673 - added a draft for gemini client. 2020-06-19 11:40:20 +02:00
cage b38b7eac25 Merge branch 'master' into gemini-client 2020-06-14 17:10:50 +02:00
cage ae60831b42 - 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-14 17:09:43 +02:00
cage 24379a7420 - added a draft of a parser for gemini files. 2020-06-14 16:46:28 +02:00
cage 45a56fcf11 - prevent adding duplicate entries in +table-pagination-status+
This could  happened when concurrent fetching  messages command was
  launched from the user.
2020-06-13 13:02:23 +02:00
cage 4dc58c1a3c - preventing writing a notification window that completerd his life cycle. 2020-06-13 12:44:52 +02:00
cage a192595439 - made expanding thread command non blocking. 2020-06-12 18:44:22 +02:00
cage 387cd85c0a - do not climb the thread (probably colud be changed by a command line switch in the future)
when fetching messages.
- configurable color for root of rendered trees.
2020-06-12 18:10:01 +02:00
cage 93950ca530 - 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-11 17:28:39 +02:00
cage 5f7c6a1f45 - remove duplicated urls in messages that are a reblog;
- fixed swapped docstrings;
- updated configure.
2020-06-07 13:00:19 +02:00
cage f20376adbf - printed an error to the user when trying to vote for a message that
does not contains a poll.
2020-06-07 12:13:02 +02:00
cage 70b9918704 - 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 choicehs;
- shown if a poll allows multiple choiches.
2020-06-07 11:50:36 +02:00
cage 4f522225a4 - added voting to polls;
- fixed poll's rendering.
2020-05-31 16:49:26 +02:00
cage cc6bbd691b - prevented skipping code when a poll has not expired. 2020-05-31 14:18:44 +02:00
cage ab50276605 - added rendering of polls. 2020-05-31 12:47:48 +02:00
cage d33af4ecbe - updated italian translation. 2020-05-30 12:05:08 +02:00
cage 32727cf0ae - [breaking changes] changed table for attachments;
- fixed  bug  that prevented  statuses  missing  attachments when  the
  status was reblogged.
2020-05-30 11:53:17 +02:00
cage fd3f1b617b - rearranged compilation order to prevent warning about command line
switch;
- rearranged order of packages.
2020-05-30 10:11:10 +02:00
cage 9895843b21 - added optional notification of statuses mentioning the user;
- protected reblogged timeline from accidental deletiion;
- added the posiibility to force expanding of a message tree.
2020-05-30 09:53:12 +02:00
cage 5df777a804 - 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.
2020-05-19 20:27:04 +02:00
cage c39fe07a34 - fixed command line long option. 2020-05-19 18:37:54 +02:00
cage 1548229b28 - added the reset of timeline pagination from command line. 2020-05-18 19:16:52 +02:00
cage 38411e1a19 - prevented disappearing of text in a reblogged toot when the parent
status has empty 'content' field or has no attachments.
2020-05-17 22:29:43 +02:00
cage a0daf6f01a - added missing file. 2020-05-17 17:49:43 +02:00
cage 07b13b40d2 - added a window to browse the links that a message contains. 2020-05-17 17:47:33 +02:00
cage 9f6adf02c4 - used correct function when ignoring an account;
- changed button label when asking for opening authorization url: from
  'OK' to 'Cancel'.
2020-05-16 20:01:41 +02:00
cage 149b39e93b - always load a shared configuration file;
- updated documentation.
2020-05-16 13:45:07 +02:00
cage 2faf32800b - made the program exits without invoke the debugger if the main
configuration file is not found;
- update documentation.
2020-05-16 11:24:11 +02:00
cage f4c4afb476 - added a command to download the latest toots from a server. 2020-05-15 19:03:51 +02:00
cage 11bdf47b6c - added user mention on top of a reply message. 2020-05-15 17:39:23 +02:00
cage 7640da7d60 - added 'about' help window. 2020-05-15 16:44:06 +02:00
cage 7f9b2c6d88 - fixed MAKEFILE.am;
- changed sxl-composer package name.
2020-05-15 16:12:40 +02:00
cage 37e8e49abf - prevent skipping of messages for subscribed tags;
- changed keys for tags window.
2020-05-14 20:23:40 +02:00
cage bc4d42d847 - added notify error when updating timelines fails. 2020-05-14 18:14:36 +02:00
cage dbdc2d9590 - changed class name from 'update-timeline-event' to
'save-timeline-in-db-event'.
2020-05-14 16:49:05 +02:00
cage c975074667 - changed function name 'id->user' to 'user-id->user'. 2020-05-14 16:36:55 +02:00
cage 5f00107808 - prevented skipping of statuses when updatig timeline (so i hope);
- added the possibility to update a timeline going backward;
- added two new  key to delete a  status and move to  next or previous
  one.
2020-05-14 16:32:01 +02:00
cage 907bcc1cf1 - prevented crash when the same message was deleted in two differents
folder or  timeline (the unique key  for table of ignored  status is
  (:status-id :folder :timeline)).
2020-05-12 19:23:48 +02:00
cage 0ee9393478 - forsed refresh of conversation window when change conversation's name;
- fixed sn italian translation sentence;
- fixed typo.
2020-05-10 19:19:35 +02:00
cage 0cae9364c3 - checked for windows visibility before drawing. 2020-05-10 16:56:15 +02:00
cage f64f45c5d1 - shown an error dialog window when the credential to log on the
instance are no more valids;
- close a menu dialog window after an entry was choosen.
2020-05-10 11:21:19 +02:00
cage b229787044 - changed function name 'draw-keybinding-mode' to 'draw-string-mode';
- prevented an  info or error message  on the command line  to overlap
  with  prompt when  asking for  user input  and, in  particular, when
  asking for message attachment.
- prevented crash when trying to expand a null string;
- clear send-message-window before deleteing an attach from the list;
- added an info when a status is ready to be sent;
- using a stack to sort drawing order of windows.
2020-05-09 21:58:12 +02:00
cage e40cfc8c2d - updated manpage;
- updated italian translation;
- added a couple of resources reltaed functions.
2020-05-09 13:53:09 +02:00
cage a1970cab39 - shown the reblogged data when does make sense. 2020-05-08 18:14:06 +02:00
cage 4d38af3ad7 - process in the correct order the command line switches;
- added 'config.status' to '.gitignore'.
2020-05-08 16:22:33 +02:00
cage c56a5b86ca - initial commit. 2020-05-08 15:45:43 +02:00