Blob


1 2022-05-25 Omar Polo <op@omarpolo.com>
3 * configure.ac: tag 0.8.1 "Le Scarpe Volanti"
5 * utils.c (mark_nonblock_cloexec): fix build on macos (doesn't
6 have accept4 nor SOCK_NONBLOCK/SOCK_CLOEXEC). Reported by sikmir,
7 thanks!
9 * configure.ac: tag 0.8 "Le Scarpe Volanti"
11 * configure.ac: disable landlock check. it's currently unused
12 after the fs/ui merge, but it may come back in the future.
14 2022-05-05 Omar Polo <op@omarpolo.com>
16 * ui.c (ui_on_download_refresh): rate-limit the update of the
17 download pane
19 2022-04-24 Omar Polo <op@omarpolo.com>
21 * session.c (save_session): generate session and histfile atomically
23 * telescope.c (main): merge fs and ui processes
25 2022-04-15 Omar Polo <op@omarpolo.com>
27 * minibuffer.c: lots of small tweaks to the completion handling.
28 Now the selected item is consistently the one used upon RET.
30 * defaults.c (load_default_keys): bind mini-kill-whole-line to C-u
31 in the minibuffer
33 * cmd.c (cmd_mini_kill_whole_line): add mini-kill-whole-line
35 2022-04-13 Omar Polo <op@omarpolo.com>
37 * defaults.c (load_default_keys): bind C-x C-w to write-buffer
39 * include/cmd.h: add an alias for write-buffer: w
41 * cmd.c (cmd_write_buffer): add write-buffer: saves the current
42 buffer to the disk.
44 * downloads.c (enqueue_download): change downloads order: the new
45 one is always at the top.
47 2022-02-26 Omar Polo <op@omarpolo.com>
49 * minibuffer.c (recompute_completions): split the minibuffer input
50 into words and try to match every one of the independently from
51 the others.
53 * cmd.c (cmd_load_url): remember visited URLs and provide
54 completions during load-url.
56 2022-02-11 Omar Polo <op@omarpolo.com>
58 * session.c (new_tab): initialize each tab loadingev timer event,
59 fixes an error print by libevent 2 upon closing a tab.
60 * telescope.c (main): allow telescope to be ``comanded'' to open an URL
62 2022-02-09 Omar Polo <op@omarpolo.com>
64 * emoji.txt: update to emoji-data-14.0.0.txt
66 2022-02-07 Omar Polo <op@omarpolo.com>
68 * defaults.c (load_default_keys): bind M-r to reply-last-input
70 * cmd.c (cmd_reply_last_input): add reply-last-input, idea from thfr, thanks!
72 2022-01-18 Omar Polo <op@omarpolo.com>
74 * session.c (sendtab): persist scroll position on the session file
76 * ui.c (ui_on_tab_loaded): restore scroll position when loading a tab if possible
78 2022-01-17 Omar Polo <op@omarpolo.com>
80 * parser_gemtext.c (parse_link): don't crash on invalid link lines
82 2022-01-15 Omar Polo <op@omarpolo.com>
84 * cmd.h: Show aliases before the completions
85 add "open" as alias for load-url, suggested by Florian, thanks :)
87 * configure.ac: tag 0.7.1, bugfix release
89 * telescope.c (do_load_url): fix use after free when loading an about:* page from about:about. Reported by Brian Callahan, thanks!
91 2022-01-13 Omar Polo <op@omarpolo.com>
93 * configure.ac: tag 0.7, "Via Paolo Fabbri 43"
95 2022-01-11 Omar Polo <op@omarpolo.com>
97 * cmd.c (cmd_cache_info): add command `cache-info' to show cache stats.
99 * mcache.c (mcache_tab): add a caching mechanism for gemini and gopher pages.
101 2022-01-10 Omar Polo <op@omarpolo.com>
103 * defaults.c (fringe): add vi-like fringes customizable using `style line.fringe { ... }'
104 (config_setvari): allow to ignore olivetti-mode' offset for fringe: fringe-ignore-offset
106 2022-01-05 Omar Polo <op@omarpolo.com>
108 * defaults.c (load_default_keys): bind `u' to tab-undo-close.
109 (config_setvari): add "max-killed-tabs" to control the maximum number of killed tabs to keep.
111 * cmd.c (cmd_tab_undo_close): allow to re-open closed tabs.
113 * session.c (kill_tab): save killed tabs into a queue.
115 2022-01-02 Omar Polo <op@omarpolo.com>
117 * telescope.c (handle_imsg_session): implement persistent tab history
119 * session.c (switch_to_tab): fix an issue where the current url was pushed *twice* in the tab history at startup.
121 * defaults.c (fill_column): bump default fill-column to 120.
123 * defaults.c (config_setvari): rename `set-title' to `update-title'. The old name will still be supported for a while to ease backwards compatibility.
125 * cmd.c (cmd_kill_telescope): ask yorn (yes or no) before quitting telescope.
127 * minibuffer.c (eecmd_select): execute the selected command, not what it's being typed into the minibuffer.
129 * defaults.c (load_default_keys): bind `del' to previous-page. Suggested by Florian.
131 * telescope.c (longopts): add --colours as an alias for --color. Suggested by Florian, thanks!
133 * telescope.c (longopts): fixed crash on --colors. Reported by Florian, thanks!
135 2021-11-29 Omar Polo <op@omarpolo.com>
137 * configure.ac: tagged 0.6.1 bugfix release
139 * sandbox.c (open_landlock): handle gracefully when landlock is disabled at runtime. Reported and tested by Nikolay Korotkiy, thanks!
141 * configure.ac: tag 0.6 "Piccola storia ignobile"
143 2021-11-27 Omar Polo <op@omarpolo.com>
145 * telescope.1: mention that we're expecting an UTF-8 environment.
147 2021-11-26 Omar Polo <op@omarpolo.com>
149 * configure.ac: add HOSTCC and HOSTFLAGS to aid cross-compiling since pagebundler needs to be built with the host compiler. Reported and tested by Nikolay Korotkiy, thanks!
151 2021-11-24 Nikolay Korotkiy <sikmir@gmail.com>
153 * telescope.c (load_gemini_url): fix macOs crash on `__strlcpy_chk' due to wrong lengths
155 2021-11-10 Omar Polo <op@omarpolo.com>
157 * net.c (net_error): handle empty replies (i.e. no header)
159 2021-11-05 Omar Polo <op@omarpolo.com>
161 * defaults.c (load_default_keys): bind toggle-downloads to <f2>
162 (mappings): added download.{ongoing,done,info} and download style targets
164 * cmd.c (cmd_toggle_downloads): add toggle-downloads
166 2021-10-26 Omar Polo <op@omarpolo.com>
168 * parser_gemtext.c (detect_line_type): correct item line detection: a space is required after the `*' character.
170 2021-10-08 Omar Polo <op@omarpolo.com>
172 * sandbox.c (landlock_unveil): use landlock on linux if available to restrict what parts of the filesystem telescope can see
173 (sandbox_fs_process): don't fail if ~/Downloads doesn't exist
175 2021-10-07 Andrea Feletto <andrea@andreafeletto.com>
177 * contrib/xdg-migrate.sh: add a script to aid the migration of ~/.telescope to XDG
179 * fs.c (xdg_init): use XDG-style directories if ~/.telescope does not exists
181 2021-09-20 Omar Polo <op@omarpolo.com>
183 * parser_textpatch.c (tpatch_emit_line): fix patch/diff syntax highlighting when more than one file are involved
185 2021-09-15 Omar Polo <op@omarpolo.com>
187 * telescope.c: add a ``safe mode''.
189 2021-09-13 Omar Polo <op@omarpolo.com>
191 * telescope.c (handle_imsg_eof): reset download byte counter
193 * sandbox.c (sandbox_fs_process): [openbsd] allow creating files in ~/Downloads
195 2021-09-12 Omar Polo <op@omarpolo.com>
197 * net.c (net_read): bugfix: telescope would render a blank page for (some rare) cases where it reads a very long replies from the server.
199 2021-08-29 Omar Polo <op@omarpolo.com>
201 * defaults.c (config_setvars): make download-path customizable
203 * telescope.c (handle_maybe_save_page): prefill the save prompt with the filename to ease saving files
205 2021-08-28 Omar Polo <op@omarpolo.com>
207 * configure.ac: tag 0.5.1
209 * telescope.c (gopher_skip_selector): don't trim the initial `/' during gohper requests
211 2021-08-26 Omar Polo <op@omarpolo.com>
213 * configure.ac: tag 0.5
215 2021-08-26 Omar Polo <op@omarpolo.com>
217 * parse.y (attrname): correctly parse multiple attributes
219 2021-08-18 Omar Polo <op@omarpolo.com>
221 * defaults.c (load_default_keys): bind M-[ and M-] to tab-move-to and tab-move
222 add tab-bar-show to control the visibility of the tab bar
224 2021-08-16 Omar Polo <op@omarpolo.com>
226 * telescope.c (humanify_url): add heuristics for human-provided URLs
228 * cmd.c (cmd_load_url): don't add ``gemini://'' on load_url
230 2021-08-15 Omar Polo <op@omarpolo.com>
232 * fs.c (last_time_crashed): improve crash detection
234 2021-08-14 Omar Polo <op@omarpolo.com>
236 * defaults.c: add `autosave' config option.
238 * telescope.c (autosave_timer): add an autosave timer to persist the session once in a while while telescope is running.
240 2021-08-13 Omar Polo <op@omarpolo.com>
242 * fs.c (handle_get_file): generate directory listings
244 * telescope.c (protos): added support for file:// URIs
246 2021-08-12 Omar Polo <op@omarpolo.com>
248 * cmd.c (cmd_push_button_new_tab): open new tab right after the current one
250 * telescope.c (load_url): improved reload command: it doesn't push the current url to the history anymore.
252 2021-08-03 Omar Polo <op@omarpolo.com>
254 * pages/about_new.gmi.in: add link to veronica-2. reorder links
256 * telescope.c (gopher_send_search_req): initial support for gopher item type 7
258 2021-07-30 Omar Polo <op@omarpolo.com>
260 * parser.c (parser_free): tilde-heuristics for titles: use ~username as tab title if the page doesn't have any headings
262 * mime.c (ptable): colorize text/x-patch
264 2021-07-25 Omar Polo <op@omarpolo.com>
266 * parser.c (parser_free): for page without a title, use the domain name
268 * parser_gophermap.c (gophermap_initparser): initial gophermaps support
270 * telescope.c (load_finger_url): add support for the finger protocol
271 (load_gopher_url): initial gopher support
273 2021-07-24 Omar Polo <op@omarpolo.com>
275 * cmd.c (cmd_scroll_line_up): don't crash on empty pages
276 (cmd_mini_scroll_up): add mini-scroll-up, bound to M-v in the minibuffer
277 (cmd_mini_scroll_down): add mini-scroll-down, bound to C-v in the minibuffer
279 * configure.ac: tagged 0.4.1 "buildfix" release
281 * Makefile.am (EXTRA_telescope_SOURCES): fix dist tarball
283 * configure.ac: tagged 0.4 --- "La faccia della luna"
285 * minibuffer.c (sensible_self_insert): use sensible-self-insert everywhere
287 2021-07-23 Omar Polo <op@omarpolo.com>
289 * ui.c (redraw_tabline): changed default tab separator character. Suggested by Gnuserland, thanks!
291 2021-07-21 Omar Polo <op@omarpolo.com>
293 * ui.c (print_vline_descr): pretty print help lines
295 * defaults.c (load_default_keys): bind other-window to C-x o
297 * cmd.c (cmd_other_window): add other-window
299 * ui.c (ui_other_window): allow to focus the side window
301 * fs.c (handle_get): allow about: pages to be overridden by ~/.telescope/pages/about_*.gmi
303 * cmd.c (cmd_tab_close): prefer the next tab instead of the previous as target in tab-close.
305 2021-07-20 Omar Polo <op@omarpolo.com>
307 * cmd.c (cmd_push_button_new_tab): bugfix: push-button-new-tab on relative URLs now works
309 * fs.c (handle_get): add about:crash
311 2021-07-19 Omar Polo <op@omarpolo.com>
313 * defaults.c (line_prefixes): prettify the default settings
315 2021-07-18 Omar Polo <op@omarpolo.com>
317 * wrap.c (push_line): visually drop trailing spaces when formatting a page
319 * minibuffer.c (populate_compl_buffer): add an optional description to completion items.
320 (recompute_completions): filter completion results using the description too (if available)
322 2021-07-17 Omar Polo <op@omarpolo.com>
324 * telescope.c (load_url): lazy loading for telescope: don't load all the tabs when starting up, only the current one. Defer the loading of the others when switching to them.
325 (load_last_session): cache the page title
327 * defaults.c (line_faces): don't underline links by default
328 add set-title option
330 * telescope.c (load_last_session): keep track of the current tab and re-focus it during next startup
332 2021-07-16 Omar Polo <op@omarpolo.com>
334 * ui.c (redraw_tabline): separate the tabs with a vertical bar
336 * defaults.c (load_default_keys): bind M-< in minibuffer for mini-goto-beginning
337 (load_default_keys): bind M-> in minibuffer for mini-goto-end
339 * cmd.c (cmd_mini_goto_beginning): add mini-goto-beginning
340 (cmd_mini_goto_end): add mini-goto-end
342 * telescope.c (do_load_url): handle unknown protocols gracefully
344 * defaults.c (load_default_keys): bind [ to tab-previous
345 (load_default_keys): bind ] to tab-next
347 * ui.c (ui_init): fix crash on some libevent2
349 * defaults.c (config_setvari): add emojify-link, enabled by default
351 2021-07-15 Omar Polo <op@omarpolo.com>
353 * cmd.c (cmd_toggle_pre_wrap): add toggle-pre-wrap
355 * defaults.c (load_default_keys): bind C-z to suspend-telescope
356 (load_default_keys): bind <home>/<end> to move-beginning/end-of-line
357 (config_setvari): add dont-wrap-pre
359 * cmd.c (cmd_suspend_telescope): add suspend-telescope
361 * ui.c (do_redraw_minibuffer): show the number of completions available
363 * parse.y (parseconfig): load alternate config file per-TERM
365 * telescope.c (main): added long options --help, --version and -C/--colors
367 * defaults.h: add hide-pre-closing-line
369 * ui.c (rearrange_windows): don't flash the screen when entering the minibuffer
371 * fs.c (lock_session): use a lockfile to prevent multiple instance of telescope to run at the same time
373 * defaults.c (load_default_keys): bind t to toc
374 (load_default_keys): change key for link-select: M-l
376 * cmd.c (cmd_toc): add toc
378 2021-07-14 Omar Polo <op@omarpolo.com>
380 * defaults.c (load_default_keys): bind M-L to link-select
381 (load_default_keys): bind M-/ to swiper
383 * cmd.c (cmd_link_select): add link-select
384 (cmd_swiper): add swiper
386 * defaults.c (load_default_keys): bind M-t to tab-select
388 * cmd.c (cmd_tab_select): add tab-select
390 * defaults.c (load_default_keys): bind f5 to reload-page
391 (load_default_keys): bind r to reload-page
393 * cmd.c (cmd_reload_page): add reload-page
395 * defaults.c (load_default_keys): <up> and <down> are now bound to previous/next-completion instead of previous/next-history-item
396 (load_default_keys): bind < to load-current-url
398 * cmd.c (cmd_previous_completion): add previous-completion
399 (cmd_next_completion): add next-completion
400 (cmd_insert_current_candidate): add insert-current-candidate
402 * minibuffer.c (enter_minibuffer): support completions in minibuffer
404 2021-07-13 Omar Polo <op@omarpolo.com>
406 * pages.c: advertise B and F instead of C-M-b/C-M-f.
408 * defaults.c (load_default_keys): bind B/F to previous/next-page. I'm bad at choosing keybindings...
410 2021-07-12 Omar Polo <op@omarpolo.com>
412 * util.c (dispatch_imsg): refactor: all imsgs are completely asynchronous
414 * minibuffer.c (minibuffer_taint_hist): bugfix: allow editing minibuffer history
416 2021-07-10 Omar Polo <op@omarpolo.com>
418 * telescope.c (do_load_url): fix certificate mismatch when going back from a proxied page to a Gemini page.
420 2021-07-09 Omar Polo <op@omarpolo.com>
422 * parse.y: make some newline optional
424 2021-07-08 Omar Polo <op@omarpolo.com>
426 * defaults.c (load_default_keys): bind C-t to tab-new by default
427 (load_default_keys): bind C-w to tab-close by default
429 * telescope.c (start_child): re-exec the children processes
431 * ui.c (print_vline): bug: print the trailing face until the right column, not one less. (this would leave the last column white if !olivetti-mode and a background color for some body lines)
433 2021-07-07 Omar Polo <op@omarpolo.com>
435 * gemtext.c (detect_line_type): fix styling of empty lines inside a pre block
437 2021-07-06 Omar Polo <op@omarpolo.com>
439 * parser.c (parser_foreach_line): deal with BOM
441 * telescope.c (handle_check_cert_user_choice): fix two bug: don't crash when there's a certificate mismatch and after saving the cert, before choosing to persist it, the page gets redirected. Now when the user accept a certificate, is treated as temporary saved for the whole session.
443 * defaults.c (load_default_keys): bind M-prior/next (M-pageup/pagedown) to tab-previous and tab-next
445 2021-07-05 Omar Polo <op@omarpolo.com>
447 * defaults.c (config_setvari): add hide-pre-context: if nonzero hide the start and end line of a pre block (i.e. ```). Defaults to zero.
448 (config_setvari): add hide-pre-blocks: if nonzero hide by default the body of a pre block; push-button can be used to toggle visibility per-block. Defaults to zero.
450 * cmd.c (cmd_push_button): push-button: toggle prefermatted blocks if invoked with the point on the header
452 2021-06-26 Omar Polo <op@omarpolo.com>
454 * cmd.c (cmd_inc_fill_column): add inc-fill-column and dec-fill-column
456 * configure.ac: tagged 0.3 --- "Spaceman"
458 2021-06-25 Omar Polo <op@omarpolo.com>
460 * cmd.c (cmd_next_heading): added next-heading (C-c n)
461 (cmd_previous_heading): added previous-heading (C-c p)
463 2021-06-24 Omar Polo <op@omarpolo.com>
465 * ui.c (load_default_keys): bind > to load-url
467 * defaults.c: enable olivetti-mode by default and set fill-mode to 80
469 2021-06-23 Omar Polo <op@omarpolo.com>
471 * gemtext.c (search_title): fixed a bug where the *last* level 2 or 3 heading would be used as tab title instead of the first one.
473 * parse.y (add_proxy): add proxy support (e.g. `proxy http via gemini://localhost:1965' for the duckling proxy)
475 * cmd.c (cmd_previous_button): stay on the line in next-button if there is no next link, and the same for previous-button
477 * telescope.c (handle_imsg_buf): "humanize" byte progress (i.e. trasform XYZ bytes to something readable)
479 2021-06-22 Omar Polo <op@omarpolo.com>
481 * parse.y (colorname): support 256 colors
483 * defaults.c (config_setcolor): allow changing the colors/attributes of the tabline
485 * parse.y (attrname): allow changing the attributes
487 2021-06-21 Omar Polo <op@omarpolo.com>
489 * telescope.h (enum pairs): allow changing the background color of the body window
491 * defaults.c (config_setvari): add enable-colors (variable)
493 2021-06-20 Omar Polo <op@omarpolo.com>
495 * cmd.c (cmd_end_of_buffer): fix end-of-buffer glitch
497 2021-06-19 Omar Polo <op@omarpolo.com>
499 * ui.c (cmd_olivetti_mode): added olivetti-mode (the function)
501 * defaults.c (config_setvari): added olivetti-mode!
503 * fs.c (load_last_session): load about:help during the first startup
505 * pages.c: added about:about, about:blank and about:help pages
507 * defaults.c (config_setvari): add fill-column config to manage the max-width when filling the page.
508 (config_setvars): add new-tab-url config to specify the default url for new tabs.
510 2021-06-18 Omar Polo <op@omarpolo.com>
512 * gemini.c (try_to_connect): use the async try_to_connect even when !HAVE_ASR_RUN
514 2021-06-13 Omar Polo <op@omarpolo.com>
516 * telescope.c (main): ignore SIGPIPE: prevent telescope from dying
517 when connecting to non-tls/non-gemini servers (found by trying to
518 load a bogus ``gemini://gemini.nytpu.com'' -- the correct url for
519 the capsule is ``gemini://nytpu.com'')
521 2021-06-12 Omar Polo <op@omarpolo.com>
523 * configure.ac: tagged 0.2
525 * utf8.c (utf8_chwidth): fix tab width
527 2021-06-11 Omar Polo <op@omarpolo.com>
529 * ui.c (switch_to_tab): drop the urgent flag when switching to a tab after closing one
531 2021-05-17 Omar Polo <op@omarpolo.com>
533 * telescope.c (handle_imsg_got_meta): ask the user to save a page when it can't be rendered
535 2021-05-13 Omar Polo <op@omarpolo.com>
537 * gemtext.c (gemtext_free): heuristic to obtain the page title: if no h1 found, try with h2s and h3s
539 2021-05-12 Omar Polo <op@omarpolo.com>
541 * ui.c (handle_resize): debounce resize event
542 (cmd_forward_char): unbreak forward-char
543 added aliases for tab-{next,new,previous}
544 (redraw_tabline): display a `!' when a non-focused tab gets loaded
546 2021-04-30 Omar Polo <op@omarpolo.com>
548 * ui.c (cmd_load_url): automatic gemini:// on load-url
549 (cmd_forward_char): fix out-of-bound
551 2021-04-25 Omar Polo <op@omarpolo.com>
553 * ui.c (cmd_scroll_up): fix cmd_scroll_down/up: they scrolled two line more than what intended
555 * telescope.c (handle_check_cert_user_choice): allow saving the new certificate after mismatch
557 * fs.c (load_certs): don't crash on invalid lines in known_hosts
559 * hash.c (telescope_lookup_tofu): save certificates per (host, port) tuple, not only per-host
561 * configure.ac: tagged 0.1.1
563 * gemini.c (blocking_conn_towards): fix compilation if !HAVE_ASR_RUN
565 * phos/phos_uri.c (phos_serialize_uri): handle URIs which port is not 1965