9front - general discussion about 9front
 help / color / mirror / Atom feed
* [9front] netsurf news
@ 2021-02-09 12:30 telephil9
  2021-02-09 14:16 ` Stanley Lieber
  0 siblings, 1 reply; 8+ messages in thread
From: telephil9 @ 2021-02-09 12:30 UTC (permalink / raw)
  To: 9front

Hi,

After a somehow long hiatus I recently resumed work on the netsurf port and I feel that given 
the number of changes this deserves some kind of "release notes".

First, I would like to thank Ori for taking care of keeping the tree in sync with upstream, Sigrid and 
Michael Forney for their various patches.

Build:
- All dependencies are now vendored in the organization repo so no more reliance on our beloved ports.
- Framebuffer frontend is gone as I don't have the time nor interest in maintaining both ports.

Performances:
This was the major drawback of the port and was mainly caused by my initial event scheduler implementation
along with the webfs backend. Both were rewritten to fix slow loading times.
In addition, special care has been taken to ensure redraws are done only when and where (ie screen area) necessary.
With all of this done, netsurf now has reasonable performances.

Image support:
- image support is now enabled by default.
- basic SVG support has been added (still needs some work).

Plumbing:
- netsurf supports incoming plumb messages and will either open the page or (like mothra) forward the link content
to the image port (for images and ps/pdf documents)
- text plumbing is also supported
- any unrecognized link url (e.g. mailto: or gopher://) is sent to the plumber

UI:
- menu2 changes based on where you click (web page, link or image)
- mouse text selection is now possible in address bar (thanks sigrid)
- rio-like text selection with double-clicks
- mouse chording for snarf/cut/paste
- native keyboard shortcuts (^U, ^W, ...) for address bar and html textfields
- ^B focus address bar, ^G focus the web page
- "galaxy brain scrolling"
- native looking tick (or is it called caret ?) in html forms

New features:
- configuration is saved in $home/lib/netsurf (you can change homepage_url from there for instance)
- file downloads
- text search (look in menu2)
- web search (search in menu3). Search engine can be changed from the menu in the top-left corner of the window and is saved across sessions.
- bookmarks support
- history support: all time history is available through menu3, session history is available by right-clicking the 'back' button
- ability to enable/disable javascript through menu3 (js/nojs)

Bug fixes (main ones as this mail is already long enough):
- libcss issue leading to netsurf crashing on some sites
- fix js and svg crashes due to too harsh fp rules (thanks ori)
- scrolling was not clipped to page bounds (thanks mforney)
- various drawing enhancements (thanks mforney)
- force user-agent to fix some sites not rendering properly
- html frames not rendering properly

Please share any bugs or feature requests you may have.

--phil

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-09 12:30 [9front] netsurf news telephil9
@ 2021-02-09 14:16 ` Stanley Lieber
  0 siblings, 0 replies; 8+ messages in thread
From: Stanley Lieber @ 2021-02-09 14:16 UTC (permalink / raw)
  To: 9front

On February 9, 2021 7:30:48 AM EST, telephil9@gmail.com wrote:
>Hi,
>
>After a somehow long hiatus I recently resumed work on the netsurf port and I feel that given 
>the number of changes this deserves some kind of "release notes".
>
>First, I would like to thank Ori for taking care of keeping the tree in sync with upstream, Sigrid and 
>Michael Forney for their various patches.
>
>Build:
>- All dependencies are now vendored in the organization repo so no more reliance on our beloved ports.
>- Framebuffer frontend is gone as I don't have the time nor interest in maintaining both ports.
>
>Performances:
>This was the major drawback of the port and was mainly caused by my initial event scheduler implementation
>along with the webfs backend. Both were rewritten to fix slow loading times.
>In addition, special care has been taken to ensure redraws are done only when and where (ie screen area) necessary.
>With all of this done, netsurf now has reasonable performances.
>
>Image support:
>- image support is now enabled by default.
>- basic SVG support has been added (still needs some work).
>
>Plumbing:
>- netsurf supports incoming plumb messages and will either open the page or (like mothra) forward the link content
>to the image port (for images and ps/pdf documents)
>- text plumbing is also supported
>- any unrecognized link url (e.g. mailto: or gopher://) is sent to the plumber
>
>UI:
>- menu2 changes based on where you click (web page, link or image)
>- mouse text selection is now possible in address bar (thanks sigrid)
>- rio-like text selection with double-clicks
>- mouse chording for snarf/cut/paste
>- native keyboard shortcuts (^U, ^W, ...) for address bar and html textfields
>- ^B focus address bar, ^G focus the web page
>- "galaxy brain scrolling"
>- native looking tick (or is it called caret ?) in html forms
>
>New features:
>- configuration is saved in $home/lib/netsurf (you can change homepage_url from there for instance)
>- file downloads
>- text search (look in menu2)
>- web search (search in menu3). Search engine can be changed from the menu in the top-left corner of the window and is saved across sessions.
>- bookmarks support
>- history support: all time history is available through menu3, session history is available by right-clicking the 'back' button
>- ability to enable/disable javascript through menu3 (js/nojs)
>
>Bug fixes (main ones as this mail is already long enough):
>- libcss issue leading to netsurf crashing on some sites
>- fix js and svg crashes due to too harsh fp rules (thanks ori)
>- scrolling was not clipped to page bounds (thanks mforney)
>- various drawing enhancements (thanks mforney)
>- force user-agent to fix some sites not rendering properly
>- html frames not rendering properly
>
>Please share any bugs or feature requests you may have.
>
>--phil
>

thank you!*

*once upon a time I had to use the plan 9 port of charon to configure the js-only web forms on my wifi dongle.

sl

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-25  6:11     ` telephil9
@ 2021-02-27  3:46       ` sl
  0 siblings, 0 replies; 8+ messages in thread
From: sl @ 2021-02-27  3:46 UTC (permalink / raw)
  To: 9front

> I had removed it as it does not work that well with our fixed-size
> fonts.  I just added it back.  If this is something you use often,
> note that you can configure the default scale in
> $home/lib/netsurf/options by adding 'scale:N' where N is the zoom
> factor in % (e.g.  scale:120).

thank you!

i did not not know this file existed.


> Another way to address this could also be to patch the default fonts
> for bigger ones.  You can look at frontends/plan9/layout.c, the code
> should look familiar to you :)

heyyy

sl

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-23  4:40   ` sl
@ 2021-02-25  6:11     ` telephil9
  2021-02-27  3:46       ` sl
  0 siblings, 1 reply; 8+ messages in thread
From: telephil9 @ 2021-02-25  6:11 UTC (permalink / raw)
  To: 9front

I had removed it as it does not work that well with our fixed-size fonts. I just added it back.
If this is something you use often, note that you can configure the default scale in $home/lib/netsurf/options by adding 'scale:N' where N is the zoom factor in % (e.g. scale:120).

Another way to address this could also be to patch the default fonts for bigger ones.
You can look at frontends/plan9/layout.c, the code should look familiar to you :)


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-12  7:05 ` telephil9
  2021-02-12  8:49   ` Romano, david
@ 2021-02-23  4:40   ` sl
  2021-02-25  6:11     ` telephil9
  1 sibling, 1 reply; 8+ messages in thread
From: sl @ 2021-02-23  4:40 UTC (permalink / raw)
  To: 9front

whatever happened to zoom in/out?

on my thinkpad x1t's 2160x1440 screen, default text size is *tiny*.

sl

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-12  7:05 ` telephil9
@ 2021-02-12  8:49   ` Romano, david
  2021-02-23  4:40   ` sl
  1 sibling, 0 replies; 8+ messages in thread
From: Romano, david @ 2021-02-12  8:49 UTC (permalink / raw)
  To: 9front

Quoth telephil9@gmail.com:
> > I tracked it down to netsurf/frontends/plan9/utils.c and have this patch, which works for me and hopefully is correct:
> 
> Thanks for the patch, I pushed the fix.

Thanks for applying!

> > Minor feature requests are to have the double-click in the address bar
> > to select all, have the address bar scroll the text (for really long
> > urls), and to have the 'stop loading' as a menu3 item.
> > 
> 
> Double-click is already there (pushed on Feb, 6: e5eb4955301). You need to click at the beginning or end of the url to have it select all. Also if the url bar is not focused and you hit ^B, the bar will take the focus with the url selected.

Hmm, that's odd.  I confirmed that I had hash
a3de9f6c49521cbce2ff751b43bf4e30f8428660, which was from Feb.  11, and
yet the double-click at the end or beginning did not work.  But ^B
suffices for what I need (select all), so thanks for the reminder!

> Just pushed to add stop to menu3

Thanks!


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
  2021-02-12  6:15 Romano
@ 2021-02-12  7:05 ` telephil9
  2021-02-12  8:49   ` Romano, david
  2021-02-23  4:40   ` sl
  0 siblings, 2 replies; 8+ messages in thread
From: telephil9 @ 2021-02-12  7:05 UTC (permalink / raw)
  To: 9front

> One thing I have found, however, is that using JS
> "appears" to suicide the process.  I use scary quotes because the
> behavior persists after restarting the process and going to sites that
> beforehand loaded fine without JS, even with nojs configured (e.g,
> google.com):
> 	netsurf 7081021: suicide: sys: trap: misaligned pc pc=0xffffffff812d1155
> 
> After a minute or two, things generally clear up and I can start
> netsurf and go to the sites (with nojs again--using js triggers the
> suicide yet again).
> 
> I am running on rpi4.  I have left a snap (~65MB) @
> https://fallglow.com/david/2021-02-11.netsurf.snap , if that helps at
> all.
> 

Thanks for the report, I'll have a look at it.

> I also tried using 'new window' in menu2 when over a link with url
> parameters, and that produces an rc error:
> 1. Go to http://www.google.com
> 2. Hover over 'News' at the top, and menu2 click 'new window'
> 3. rc: line 2: token '=': syntax error
> 
> I tracked it down to netsurf/frontends/plan9/utils.c and have this patch, which works for me and hopefully is correct:

Thanks for the patch, I pushed the fix.

> Minor feature requests are to have the double-click in the address bar
> to select all, have the address bar scroll the text (for really long
> urls), and to have the 'stop loading' as a menu3 item.
> 

Double-click is already there (pushed on Feb, 6: e5eb4955301). You need to click at the beginning or end of the url to have it select all. Also if the url bar is not focused and you hit ^B, the bar will take the focus with the url selected.

Scrolling is on my todo, I'll get to it. In the meantime you can use ^A or ^E to move to beginning or end of the url.

Just pushed to add stop to menu3

--phil


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [9front] netsurf news
@ 2021-02-12  6:15 Romano
  2021-02-12  7:05 ` telephil9
  0 siblings, 1 reply; 8+ messages in thread
From: Romano @ 2021-02-12  6:15 UTC (permalink / raw)
  To: 9front

Quoth telephil9@gmail.com:
> After a somehow long hiatus I recently resumed work on the netsurf port and I feel that given 
> the number of changes this deserves some kind of "release notes".
> ...
> Bug fixes (main ones as this mail is already long enough):
> - libcss issue leading to netsurf crashing on some sites
> - fix js and svg crashes due to too harsh fp rules (thanks ori)
> - scrolling was not clipped to page bounds (thanks mforney)
> - various drawing enhancements (thanks mforney)
> - force user-agent to fix some sites not rendering properly
> - html frames not rendering properly
> 
> Please share any bugs or feature requests you may have.

Thank you so much to you, Ori, Michael, and Sigrid for working on
this!  Do any of you have Paypal or anything I can use to donate to
you?  I am trying to divorce myself from os x dependency, and wed
myself to 9front.  This is a big step for me towards that, since at
times I'll need a browser that does better than mothra for
presentation.

I had initially built the netsurf port back in June or July of last
year, and the performance issues were a show-stopper for me.  I am now
at least able to browse around basic sites and the performance is
reasonable.  One thing I have found, however, is that using JS
"appears" to suicide the process.  I use scary quotes because the
behavior persists after restarting the process and going to sites that
beforehand loaded fine without JS, even with nojs configured (e.g,
google.com):
	netsurf 7081021: suicide: sys: trap: misaligned pc pc=0xffffffff812d1155

After a minute or two, things generally clear up and I can start
netsurf and go to the sites (with nojs again--using js triggers the
suicide yet again).

I am running on rpi4.  I have left a snap (~65MB) @
https://fallglow.com/david/2021-02-11.netsurf.snap , if that helps at
all.

I also tried using 'new window' in menu2 when over a link with url
parameters, and that produces an rc error:
1. Go to http://www.google.com
2. Hover over 'News' at the top, and menu2 click 'new window'
3. rc: line 2: token '=': syntax error

I tracked it down to netsurf/frontends/plan9/utils.c and have this patch, which works for me and hopefully is correct:
--- /mnt/git/object/a3de9f6c49521cbce2ff751b43bf4e30f8428660/tree/frontends/plan9/utils.c
+++ frontends/plan9/utils.c
@@ -185,7 +185,7 @@
 		fprintf(stderr, "rfork failed\n");
 		return;
 	case 0:
-		snprintf(buf, sizeof buf, "window %s %s", "netsurf", url);
+		snprintf(buf, sizeof buf, "window %s '''%s'''", "netsurf", url);
 		execl("/bin/rc", "rc", "-c", buf, 0);
 		fprintf(stderr, "exec failed\n");
 		exit(1);

Minor feature requests are to have the double-click in the address bar
to select all, have the address bar scroll the text (for really long
urls), and to have the 'stop loading' as a menu3 item.

- Romano

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-02-27  3:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-09 12:30 [9front] netsurf news telephil9
2021-02-09 14:16 ` Stanley Lieber
2021-02-12  6:15 Romano
2021-02-12  7:05 ` telephil9
2021-02-12  8:49   ` Romano, david
2021-02-23  4:40   ` sl
2021-02-25  6:11     ` telephil9
2021-02-27  3:46       ` sl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).