Repository navigation
v2.21.0
Surf 2.21.0 makes everyday browser actions faster and makes page reading more reliable. Clicks, typing, scrolling, and js now return as soon as the action is done instead of waiting for a screenshot. After you switch into an iframe, reading the page reads that iframe, and js refuses to run in the wrong frame instead of quietly running in the main page. page.read can now list the whole page, including hidden elements, and no longer fails on very long pages.
Highlights
- Clicks, typing, scrolling, and
jsreturn faster because they no longer wait for the automatic screenshot. - Reading a page after
frame.switchnow reads the frame you picked, andjsrefuses to run in the wrong frame. page.read --allnow lists the whole page, and--include-hiddenalso shows hidden elements.- Very long pages no longer make
page.readfail. You get the start of the tree and a file with the rest.
Need to know
If you connect to a Surf host remotely, upgrade the client along with the host, or pass --no-screenshot to js. The new host rejects the js request that older clients send.
Changelog
Highlights
- Clicks, typing, scrolling, and
jsreturn faster because they no longer wait for the automatic screenshot. - Reading a page after
frame.switchnow reads the frame you picked, andjsrefuses to run in the wrong frame. page.read --allnow lists the whole page, and--include-hiddenalso shows hidden elements.- Very long pages no longer make
page.readfail. You get the start of the tree and a file with the rest.
Added
page.read --include-hidden- Also lists hidden andaria-hiddenelements. It implies--all. The Pisurf_readtool accepts the same option asincludeHidden.
Fixed
- Faster actions -
click,type,scroll, and other actions that take an automatic screenshot now reply as soon as the action is done, instead of waiting about 0.75 s (up to 5 s when the window is hidden). The reply readsScreenshot (pending): <path>, and the file appears there a moment later. The next command on the same tab waits for it. If the capture fails, no file is written and the host log records why. Remote clients still get the screenshot before the reply. See #328. - Faster
js-jsno longer takes an automatic screenshot, which saves about 0.75 s. Its output never showed that screenshot. Remote clients from earlier releases must upgrade or pass--no-screenshottojs, because the new host rejects their old request. See #325. - Selected frame - After
frame.switch,page.textandpage.stateread the selected frame, including out-of-process iframes the extension can reach.jsin a selected frame now fails withUNSUPPORTED_FRAME_EXECUTIONand tells you to runframe.mainfirst, instead of quietly running in the main page. See #319. page.read --all- Lists every visible element on the page, including offscreen ones. Before, the flag was ignored. See #322.- Long pages -
page.readno longer fails when the tree is over 50,000 characters. It shows the first 50,000 bytes and ends with a note giving the path of a private file with the full tree.--max-bytesnow limits the tree as well as the text. - Large responses - Large responses with no file paths in them no longer fail with "response exceeds path rewrite limits". See #322.