Commit graph

158 commits

Author SHA1 Message Date
Jared Rewerts 7b4170e46f Added a mouse scroll test. 2018-08-28 12:06:55 -06:00
Jared Rewerts 1ed1427855 Added a function for simulating mouse clicks. 2018-08-28 12:06:38 -06:00
Jared Rewerts 1004777ed7 Switched to server side scrolling. 2018-08-20 21:57:43 -06:00
Árni Dagur 727d6ff293
Fix typo in default config 2018-08-05 14:22:14 +00:00
BO41 ad235b6c51 Use less verbose if statements (#166) 2018-08-04 19:55:37 +08:00
Thomas Buckley-Houston 855d8daa41 Use thread-safe map for HTTP requests
This fixes a race condition when may parallel requests are made to the
HTTP service
2018-08-02 19:26:09 +08:00
Thomas Buckley-Houston ec62ceaeac Remove "ms" from durations in HTTP response header 2018-08-02 15:56:25 +08:00
Thomas Buckley-Houston 4182af11fe Bump to v1.4.10 2018-07-27 13:20:18 +08:00
Thomas Buckley-Houston 4b1d6fc2d0 Include GOARM v7 in builds
Touches #134
2018-07-27 13:19:57 +08:00
Thomas Buckley-Houston 5829c71a3e Centralise all the Browsh build steps 2018-07-26 18:59:59 +08:00
Thomas Buckley-Houston 9abc3aaa3f Refactor build process to not use pre-built bins
This means that there's now a canonical script that allows other
distributers to build Browsh. The only caveat being that the web
extension cannot be built (Mozilla only allows one signed `.xpi` per
version), so it is downloaded.
2018-07-26 18:44:01 +08:00
Thomas Buckley-Houston d6afc206f1 v1.4.8 2018-07-25 11:23:51 +08:00
Thomas Buckley-Houston 4bf2f67410 Changes UA regex for Kube probe detection
Trying to stop Kubernetes' regular health check probes from loading
an actual raw text request.
2018-07-25 02:30:32 +08:00
Thomas Buckley-Houston 5aceb56d97 Changes default rate limiter to 'off' 2018-07-24 22:28:19 +08:00
Thomas Buckley-Houston 4fa867cafd Attempted fix for HTTP server's stuck requests
My hunch is that, since the switch to using brow.sh as the default
homepage, the extra page load time has an undesirable effect on
subsequent requests for new tabs. For example, say that a new tab
is requested but the original brow.sh tab hasn't completed, but
it does complete halfway through another tab loading. Might it retake
focus and prevent DOM load events triggering in the user-requested
tab?

So for now, the quickest fix is just to increase the wait time in the
tests. The better fix, if my hunch is right, would be to detect and
wait for the original launch-time tab to finish.
2018-07-24 21:28:14 +08:00
Thomas Buckley-Houston fb38943ceb Bump to v1.4.7 2018-07-24 15:58:50 +08:00
Thomas Buckley-Houston 1b71a0821d Adds Browsh vesion to TTY startup screen 2018-07-24 15:57:04 +08:00
Thomas Buckley-Houston 514260205c Page load and parsing durations in HTTP header 2018-07-24 15:54:45 +08:00
Thomas Buckley-Houston 2f713f40fc Ran linters to fix formatting 2018-07-24 13:30:51 +08:00
Thomas Buckley-Houston a8cff1bf1d Fixes 'no-text' bug in HTTP server's raw text
Such a big commit to provide a fix which really only involves a few
lines in the graphics builder. It would seem that the very first time
the BlockCharMono font is rendered it needs a little delay. So there's a
refactor here to use a callback when requesting a screenshot with text.

All the other code in this commit is just the scaffolding to try to fix
this issue. It's all good stuff in itself. Basically stricter code
triggers for the different stages of page load: tab load, DOM ready,
page ready. I actually wonder if the TTY page loads feel snappier now?

closes #46
2018-07-21 23:04:09 +08:00
Thomas Buckley-Houston 7a76b3d9aa First basic implementation of configurable keys
Only 'next-tab' is currently supported.

You will need to run Browsh with `--debug` then press the key
combination and watch the logs for something like;

`TTY sending: /stdin,{"char":"\u001c","key":28,"mod":2}`

That is the result of having `pressed CTRL+\`. Then add something
like the following to your config file:
```toml
[tty.keys]
next-tab = ["\u001c", "28", "2"]
```

touches #52
2018-07-21 17:05:02 +08:00
Thomas Buckley-Houston 7c10bd230e Replace google.com with brow.sh as startup URL
closes #132
2018-07-21 13:56:15 +08:00
Thomas Buckley-Houston 023836b69e Attempt to return empty 200s for Kube probes 2018-07-21 13:34:45 +08:00
Thomas Buckley-Houston 1b0d5f103f Provide Browsh version with git in Dockerfile
Version v1.4.6
2018-07-19 15:26:45 +08:00
Thomas Buckley-Houston 26416e267c Release: only delete core file if it exists 2018-07-19 14:49:27 +08:00
Thomas Buckley-Houston 949273a553 Remove "core" file in webpack dist/ during release
What is that file!!? It's only on Travis and its 201Mb!
2018-07-19 14:42:41 +08:00
Thomas Buckley-Houston 18099c0c86 List contents of webext/ during release script
Includes version bump to v1.4.3
2018-07-19 14:30:39 +08:00
Thomas Buckley-Houston 87aa7346b7 Bump version to trigger Mozilla release 2018-07-19 14:18:02 +08:00
Thomas Buckley-Houston a9425988af JS and Go formatting 2018-07-19 14:07:39 +08:00
Thomas Buckley-Houston 9318cbf282 Adds CLI arg to output version 2018-07-19 13:19:58 +08:00
Thomas Buckley-Houston e270dca8aa Refactor to keep Browsh version in Go 2018-07-19 13:14:59 +08:00
Thomas Buckley-Houston 976c811884 Don't use viper's FF path in os.exec()
Silly mistake. There's a few manipulations of `path` done before
calling `os.exec()`, so they need to passed on, not ignored!
2018-07-19 12:27:38 +08:00
Thomas Buckley-Houston e99a79b5fc Disable UPX compression 2018-07-18 19:57:27 +08:00
Thomas Buckley-Houston ec36c9c570 Show removable call to donate in TTY 2018-07-18 19:52:22 +08:00
Thomas Buckley-Houston 23702a2b4d Block user agents and domains using user config 2018-07-18 17:38:17 +08:00
Thomas Buckley-Houston 73c8bd94f3 Made all obvious variables user-configurable
There's a bit of refactoring in order for the webextension to deal with
the new order of initialisation now that config is sent by the Golang
client.

Closes #83
2018-07-18 15:55:35 +08:00
Thomas Buckley-Houston ef18913e3c First implementation of config file
Includes change of CLI args, many of been moved to the config file and
those that remain begin with `--` not `-` and may be worded differently.

Touches #37
2018-07-17 18:43:52 +08:00
Thomas Buckley-Houston 4b2ce6abbc Gofmt formatting 2018-07-17 10:10:08 +08:00
Thomas Buckley-Houston f05a21a339 Exclude windows files when running unit tests 2018-07-16 23:08:24 +08:00
Thomas Buckley-Houston 1017e8d000 Possible fix for windows path and crash issues
Touches #111 #117 #130
2018-07-16 22:29:10 +08:00
Thomas Buckley-Houston 527df8bb16 Fix for non-ASCII chars generating extra chars
This was caused by misunderstanding of the finer details of strings,
runes and slices. I just changed the input_box struct to use runes and
then followed the trail of type errors until input_boxes only ever used
strings to send their text outside themselves.

Closes #93
2018-07-16 17:58:53 +08:00
Thomas Buckley-Houston b2988bfa1f Fix for incorrectly calculated char dimensions
There was a bug where raw text pages would unusually truncated. It
seemed to coincide with the char dimensions being incorrectly
calculated. My only guess was that it was because of race condition on
lightweigh sites that didn't load Browsh's webextension code in time.

So for now it just seems better to hard code the char dimensions, which
should at least be more reliable than the bugs of dynamically
calculating them .
2018-07-16 13:56:24 +08:00
Thomas Buckley-Houston 79bd148a60 Add OpenBSD build
Touches #126 /cc @vext01
2018-07-14 21:25:29 +08:00
Thomas Buckley-Houston effa2acc77 Add caveats to Homebrew Tap about FF 57+ dep
Touches #65
2018-07-13 17:28:24 +08:00
Thomas Buckley-Houston 6471b6f42c Remove Firefox as a dep in Brew Tap recipe
Touches #65
2018-07-12 04:44:27 +08:00
Thomas Buckley-Houston 1bfb10f022 Don't UPX compress linux_arm64 binary 2018-07-11 18:04:12 +08:00
Thomas Buckley-Houston 21bd850f50 Missing - in goreleaser :/
Bump to v1.3.1
2018-07-11 17:55:35 +08:00
Thomas Buckley-Houston 5263897fb1 Add 386 and arm64 builds 2018-07-11 17:33:58 +08:00
Thomas Buckley-Houston 2fc0b5cde3 Formatted all Go code
Closes #97
2018-07-11 17:00:06 +08:00
Thomas Buckley-Houston be098c0673 Redirect HTML service requests for favicon.ico
... to a real favicon
2018-07-11 16:46:33 +08:00