browsh-org / browsh

A fully-modern text-based browser, rendering to TTY and browsers
https://www.brow.sh
GNU Lesser General Public License v2.1
17.06k stars 416 forks source link

The web page is not correctly displaying (artifacts and lags) #424

Open lakejason0 opened 2 years ago

lakejason0 commented 2 years ago

Screenshot of the malfunctioning browser I'm using Arch Linux, and I built the browsh-bin AUR package through yay. I'm using Konsole in the screenshot but after trying GNOME Terminal and pure tty, I'm experiencing the same problem still.

Scrolling is working but not every character is refreshing and this is causing artifacts and lags.

Below is the debug.log.

Looking in /home/lakejason0/.config/browsh/config.toml for config.
Attempting to connect to Firefox Marionette
Starting Firefox in headless mode
Using Firefox at: /usr/bin/firefox
Using default profile at: /home/lakejason0/.config/browsh/firefox_profile
Sending `WebDriver:NewSession` to Firefox Marionette
Sending `Addon:Install` to Firefox Marionette
Starting Browsh CLI client
Starting websocket server...
Webextension not connected. Message not sent: /tty_size,157,35
FF-MRNT: 50:{"applicationType":"gecko","marionetteProtocol":3}
FF-CONSOLE: [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
FF-MRNT: 61:[1,1,null,{"value":"{8ff2d753-2dc8-46de-a837-fa28331d9fcf}"}]
Incoming web request from browser
Sending `Marionette:SetContext` to Firefox Marionette
TTY sending: /config,{"browsh":{"custom_css":"","use_experimental_text_visibility":false,"websocket-port":3334},"browsh_supporter":"♥","debug":true,"default_search_engine_base":"https://www.google.com/search?q=","firefox":{"path":"firefox","profile":"browsh-default","use-existing":false,"with-gui":false},"http-server":{"bind":"0.0.0.0","blocked-domains":null,"blocked-user-agents":null,"columns":100,"footer":"","header":"","jpeg_compression":0.9,"port":4333,"rate-limit":"100000000-M","render_delay":100,"rows":30,"timeout":30},"http-server-mode":false,"mobile_user_agent":"Mozilla/5.0 (Android 7.0; Mobile; rv:54.0) Gecko/58.0 Firefox/58.0","monochrome":false,"startup-url":"http://www.brow.sh","time-limit":0,"tty":{"keys":{"next-tab":["\u001c","28","2"]},"small_pixel_frame_rate":250},"validurl":null,"version":false}
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
Sending `WebDriver:ExecuteScript` to Firefox Marionette
Sending `Marionette:SetContext` to Firefox Marionette
TTY sending: /tty_size,157,35
TTY sending: /new_tab,http://www.brow.sh
WEBEXT: Webextension connected to the terminal's websocket server
WEBEXT: Starting to listen to TTY
FF-MRNT: 25:[1,2,null,{"value":null}]
FF-MRNT: 895:[1,3,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]
WEBEXT: Message from terminal: /config,{"browsh":{"custom_css":"","use_experimental_text_visibility":false,"websocket-port":3334},"browsh_supporter":"♥","debug":true,"default_search_engine_base":"https://www.google.com/search?q=","firefox":{"path":"firefox","profile":"browsh-default","use-existing":false,"with-gui":false},"http-server":{"bind":"0.0.0.0","blocked-domains":null,"blocked-user-agents":null,"columns":100,"footer":"","header":"","jpeg_compression":0.9,"port":4333,"rate-limit":"100000000-M","render_delay":100,"rows":30,"timeout":30},"http-server-mode":false,"mobile_user_agent":"Mozilla/5.0 (Android 7.0; Mobile; rv:54.0) Gecko/58.0 Firefox/58.0","monochrome":false,"startup-url":"http://www.brow.sh","time-limit":0,"tty":{"keys":{"next-tab":["\u001c","28","2"]},"small_pixel_frame_rate":250},"validurl":null,"version":false}
WEBEXT: {"browsh":{"custom_css":"","use_experimental_text_visibility":false,"websocket-port":3334},"browsh_supporter":"♥","debug":true,"default_search_engine_base":"https://www.google.com/search?q=","firefox":{"path":"firefox","profile":"browsh-default","use-existing":false,"with-gui":false},"http-server":{"bind":"0.0.0.0","blocked-domains":null,"blocked-user-agents":null,"columns":100,"footer":"","header":"","jpeg_compression":0.9,"port":4333,"rate-limit":"100000000-M","render_delay":100,"rows":30,"timeout":30},"http-server-mode":false,"mobile_user_agent":"Mozilla/5.0 (Android 7.0; Mobile; rv:54.0) Gecko/58.0 Firefox/58.0","monochrome":false,"startup-url":"http://www.brow.sh","time-limit":0,"tty":{"keys":{"next-tab":["\u001c","28","2"]},"small_pixel_frame_rate":250},"validurl":null,"version":false}
WEBEXT: Message from terminal: /tty_size,157,35
WEBEXT: Requesting browser resize for new TTY dimensions: 157x35
WEBEXT: Not resizing browser window without all of the TTY and character dimensions
WEBEXT: Message from terminal: /new_tab,http://www.brow.sh
WEBEXT: Tab undefined received new focus
WEBEXT: New tab created: [object Object]
FF-MRNT: 25:[1,4,null,{"value":null}]25:[1,5,null,{"value":null}]895:[1,6,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]25:[1,7,null,{"value":null}]25:[1,8,null,{"value":null}]895:[1,9,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,10,null,{"value":null}]26:[1,11,null,{"value":null}]896:[1,12,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,13,null,{"value":null}]26:[1,14,null,{"value":null}]896:[1,15,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,16,null,{"value":null}]26:[1,17,null,{"value":null}]896:[1,18,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/conten
FF-MRNT: t/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,19,null,{"value":null}]26:[1,20,null,{"value":null}]896:[1,21,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,22,null,{"value":null}]26:[1,23,null,{"value":null}]896:[1,24,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,25,null,{"value":null}]26:[1,26,null,{"value":null}]896:[1,27,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,28,null,{"value":null}]26:[1,29,null,{"value":null}]896:[1,30,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10
FF-MRNT: \nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,31,null,{"value":null}]26:[1,32,null,{"value":null}]896:[1,33,{"error":"no such window","message":"Browsing context has been discarded","stacktrace":"WebDriverError@chrome://remote/content/shared/webdriver/Errors.jsm:186:5\nNoSuchWindowError@chrome://remote/content/shared/webdriver/Errors.jsm:440:5\nassert.that/<@chrome://remote/content/shared/webdriver/Assert.jsm:445:13\nassert.open@chrome://remote/content/shared/webdriver/Assert.jsm:153:4\nGeckoDriver.prototype.execute_@chrome://remote/content/marionette/driver.js:735:10\nGeckoDriver.prototype.executeScript@chrome://remote/content/marionette/driver.js:653:30\ndespatch@chrome://remote/content/marionette/server.js:306:40\nexecute@chrome://remote/content/marionette/server.js:279:16\nonPacket/<@chrome://remote/content/marionette/server.js:252:20\nonPacket@chrome://remote/content/marionette/server.js:253:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.js:500:20\n"},null]26:[1,34,null,{"value":null}]
WEBEXT: Tab 2 (Browsh) registered with background process
WEBEXT: Tab 2 connected for communication with background process
WEBEXT: BACKGROUND: Frame loop starting at 250ms intervals
WEBEXT: ["2","Webextension postCommsInit()"]
WEBEXT: ["2","Sending big frames..."]
WEBEXT: ["2","Using char dims 9x15"]
WEBEXT: ["2","Actual char dims 14.633331298828125x23"]
WEBEXT: Requesting browser resize for new char dimensions: 9x20 (old: undefinedxundefined)
WEBEXT: Resizing browser window successful (1413x720)
WEBEXT: ["2","Using char dims 9x15"]
WEBEXT: ["2","Actual char dims 14.633331298828125x23"]
WEBEXT: ["2",["position text nodes: 15ms"]]
WEBEXT: ["2",["get screenshot with text: 25ms"]]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2",["get screenshot with text: 20ms"]]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2","DOM LOADED"]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: Resizing browser window successful (1413x720)
WEBEXT: ["2",["get screenshot with text: 19ms"]]
WEBEXT: ["2","Sending big frames..."]
WEBEXT: ["2",["get screenshot with text: 22ms"]]
WEBEXT: ["2","Sending big frames..."]
WEBEXT: ["2",["get screenshot without text: 16ms"]]
WEBEXT: ["2",["get screenshot with text: 34ms"]]
FF-MRNT: 706:[1,0,null,{"sessionId":"8243f2be-e7b4-4837-9a3c-c7f20fc31380","capabilities":{"browserName":"firefox","browserVersion":"102.0","platformName":"linux","platformVersion":"5.18.7-arch1-1","acceptInsecureCerts":false,"pageLoadStrategy":"normal","setWindowRect":true,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"strictFileInteractability":false,"unhandledPromptBehavior":"dismiss and notify","moz:accessibilityChecks":false,"moz:buildID":"20220627181515","moz:headless":true,"moz:processID":41113,"moz:profile":"/home/lakejason0/.config/browsh/firefox_profile","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}]
WEBEXT: ["2","!!MUTATION!!",{}]
WEBEXT: ["2",["get screenshot without text: 13ms"]]
WEBEXT: ["2",["position text nodes: 11ms"]]
WEBEXT: ["2",["get screenshot with text: 37ms"]]
WEBEXT: ["2","PAGE LOADED"]
Sending `Marionette:Quit` to Firefox Marionette
*errors.errorString normal
/home/travis/gopath/src/browsh/interfacer/src/browsh/tty.go:109 (0x847dfb)
/home/travis/gopath/src/browsh/interfacer/src/browsh/tty.go:63 (0x847b77)
/home/travis/gopath/src/browsh/interfacer/src/browsh/tty.go:45 (0x8479a9)
/home/travis/.gimme/versions/go1.10.8.linux.amd64/src/runtime/asm_amd64.s:2361 (0x457b41)

It seems to be using the Firefox I installed by the firefox package, and the version is 102.0.

tombh commented 2 years ago

I think this is almost certainly related to https://github.com/browsh-org/browsh/issues/77

lakejason0 commented 2 years ago

I think this is almost certainly related to #77

so it's related to language settings? hmm I'll try it

Edit: Oh yes, it does