1
0
Fork 0
Commit Graph

64 Commits

Author SHA1 Message Date
cage a45b453da0 - changed brief description of the program. 2023-10-19 17:49:54 +02:00
cage 888a361d86 - [TITAN] prevented dropping of query component.
After discussing on IRC (thanks!) i think is legit (according to the
  specification) to have URL like that:

  titan://invalid/path/to/script;mime=text/plain;size=1;token=foo?query=bar
2023-08-04 13:58:57 +02:00
cage a06caf629b - removed full stop ('.'), from some translatable strings. 2023-07-15 14:30:09 +02:00
cage e1f185c439 - implemented titan protocol;
- [TUI] added titan requests;
- [GUI] fixed crash when opening the gemlog windows after refreshed the gemlogs data.
2023-07-07 14:45:05 +02:00
cage 340f98b618 - removed debug code 2023-04-14 17:27:56 +02:00
cage 91e6298e7c - [GUI] printed information when streaming is started or finished;
- [GUI] increased width of bookmark window.
2023-04-14 17:13:41 +02:00
cage d4a871d769 - [gemini] returned the meta header to user when a protocol error occurred. 2023-03-12 11:42:55 +01:00
cage 9e7feacf8e - [GUI] started a news thread where getting gemini stream's data.
- [GUI] added theming to gemtext.
2023-02-25 11:41:01 +01:00
cage d040aec005 - [gemini] improved format control for protocol error messages;
- [GUI] logged RPC request error instead of opening a dialog message when in debug mode;
- [GUI] added a draft of callback for opening a gemini address.

- [RPC] learnt that (error "string" arg1 arg2 ... argn), is similar to
  (error (format nil  "string" arg1 arg2 ... argn))  so (error (format
  nil "~a" "~c"))  is equal to (error "~c"); =>  format error (missing
  argument for format string)!
2023-02-19 14:52:53 +01:00
cage cfb05a6ea1 - log gemini and json, debug messages even if *features* does not
contains :debug-mode;
- [RPC] fixed 'gemini-stream-info';
- [RPC] added 'gemini-stream-parsed-line-slice';
- [RPC] added error handling for 'gemini-stream-parsed-line';
- [JSON-RPC] fixed encoding of error responses.
2023-01-06 11:56:21 +01:00
cage 685f4e4db7 - added slot 'parsed-lines' to gemini-viewer:gemini-stream,
moreover used this slots when downloading a gemini stream

  This changes means that the parsing of gemini stream is no more done
  in program events but during the downloading thread.
  See, for example the changes in: 'gemini-viewer:make-gemini-download-event'

- added a parameter to prevent notification when downloading a gemini stream
  see 'gemini-viewer:request-stream-gemini-document-thread';

- added a  more human friendly  constants for each gemini  status code
  (e.g. +success+ for code 20).

- as the gemini parser has status added a parameter ('initialize-parser') to
  'gemini-parser:parse-gemini-file' (default to nil, do not initialize);

- initialize the gemini parser when needed.
2022-12-29 17:24:53 +01:00
cage f8bf6aa360 - [gemini] added better names for status code of a gemini response (e.g. '+20+' -> '+success+'). 2022-12-28 13:57:15 +01:00
cage 39878d6475 - wrapped 'babel:string-to-octets' in 'text-utils:string->octets'. 2022-12-25 12:53:07 +01:00
cage 1bfdf45ec9 - ignore errors when getting gemlog feeds data. 2022-11-25 18:46:34 +01:00
cage 333d77caf2 - [gemini] added missing mandatory argument to function that builds the redirect URI. 2022-08-19 10:48:56 +02:00
cage d45388e4dc - [gemini] remove redirect loop when the meta was an absolute URI. 2022-07-15 10:39:24 +02:00
cage de980b44b7 - [modules] added backlink to generated gemlog pages;
- [gemini] fixed rendering of links that starts with an emoji.
2022-07-13 17:08:37 +02:00
cage b004fd5f93 - removed direct call to babel:cotets-to-string, using 'to-s' wrapper, instead.
- [gemini] prevented crash when no previous link to open is found before the selected line.
2022-07-02 10:55:11 +02:00
cage 2dd2a738a7 - adding user info in uri related functions. 2022-01-15 17:50:53 +01:00
cage 5e035458fe - skipped redirect if parsing of iri failed. 2021-11-15 18:17:21 +01:00
cage e5597c6a80 - added query to redirect if present in the redirect iri. 2021-11-15 18:11:36 +01:00
cage 60a66d6ea9 - [gemini] prevented sending fragment part of the IRI to server;
- chaged prefix for links in gemini streams.
2021-11-07 10:31:01 +01:00
cage e28ae6ff1a - [gemini] used fuzzy matching when looking for URI in history. 2021-07-23 16:56:36 +02:00
cage e5f93bd632 - [gemini] removed link prefix for link labels that starts with an emoji;
- [gemini] removed splitting of long link labels;
- fixed output stream of 'print-debug'.
2021-07-17 12:13:04 +02:00
cage 0972cc3ed0 - [gemini fixed validity check for client certificate (thanks op!). 2021-07-16 11:32:36 +02:00
cage 70d9fb5c0c - changed macro with a function. 2021-06-18 17:48:56 +02:00
cage f39e396762 - refactoring TOFU error recovery. 2021-06-18 17:10:58 +02:00
cage 088e760503 - [gemini] fixed parsing of gemlog pages. Subtitle was never recognized even if actually present. 2021-05-14 14:49:37 +02:00
cage d9ebbe84ab - quote meta characters when matching for RE, searching for a common prefix from a bag of strings. 2021-04-16 18:34:27 +02:00
cage 7c9a8e3ee2 - [gemini] allowed to connect to host using ip address instead of hostname. 2021-04-16 15:03:58 +02:00
cage fac77297e8 - [gemini] started coloring preformatted block. 2021-04-05 12:01:30 +02:00
cage 9e3269576d - [gemini] improved rendering of quoted text. 2021-04-03 15:03:24 +02:00
cage 61c39b6c62 - moved to an internal wrapping of 'mkstemp' to allow extensions in filename;
- [gemini] rendering all stream with MIME type "text/*" with this program.
2021-04-01 17:08:42 +02:00
cage db34a2f958 - [gemini] added feature: loading local gemini files from command line (switch: '-o'). 2021-03-27 09:19:13 +01:00
cage 029acbe186 - removed empty line. 2021-03-24 16:26:26 +01:00
cage d92c103c43 - [gemini] when resolving host try UTF8 encoded name first and punycoded last. 2021-03-24 16:12:32 +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 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 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 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 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 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 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 7e32091b6f - [gemini]
Started with gemlog subscription, added database table and interface
  and subscribing API.
2021-01-08 18:21:43 +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 5151fbe4a2 - [gemini] allow percent encoding of query, path and fragment only if not already encoded. 2020-12-28 12:40:47 +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 c9d9559f1a - changed 'uri' to 'iri' where does makes sense to me. 2020-12-17 13:56:07 +01:00