Commit graph

224 commits

Author SHA1 Message Date
Omar Rizwan b948c235b8 fs,extension: Make truncate work on cached file content.
We now remember the path of each cached file, so when someone
truncates that path, we can truncate all open instances of it in
cache. Important when someone pipes to stomp a file / opens with
O_TRUNC (which FUSE disaggregates into an open() and then a truncate()
call). Gets rid of the need for FUSE_CAP_ATOMIC_O_TRUNC, which never
worked on macOS anyway.

Fixes #40.
2021-04-06 13:48:48 -07:00
Omar Rizwan 8fbfa9a7c9 extension: fix truncate in defineFile; refactor/encap defineFile
truncate was still assuming fixed path instead of passing whole req
object on to setData/getData.
2021-03-26 02:21:14 -07:00
Omar Rizwan 383096da00 extension,test: Move Router down, Router -> Routes. 2021-03-22 23:25:38 -07:00
Omar Rizwan 826246bf29 md: Clean up a bit, update file figure. 2021-03-22 23:06:44 -07:00
Omar Rizwan e1f9c5986a fix resources/ suffix misuse bug, tweak README 2021-03-22 22:49:07 -07:00
Omar Rizwan d539660c93 extension: Remove html for now. 2021-03-22 22:33:06 -07:00
Omar Rizwan 2819f3325b extension: Compress/expand lines in html view. 2021-03-22 21:56:19 -07:00
Omar Rizwan 345c7a4af5 extension: red highlights for routes. 2021-03-22 08:56:48 -07:00
Omar Rizwan 73f4672a8c extension,test: router -> Router. 2021-03-21 20:29:30 -07:00
Omar Rizwan 5ef6929ae7 extension: Eliminate pathComponent entirely. 2021-03-21 19:51:31 -07:00
Omar Rizwan b6f44d95f4 extension: Big refactor to use named variables in routes.
Also move debugger-specific stuff into the debugger block.
2021-03-21 19:42:44 -07:00
Omar Rizwan be519afe5f extension,test: Start on simplifying routing.
Introduces a 'named variable' syntax so we can remove all the manual
indexing into path components / converting to int in individual fs
ops.

Also rewrites the route finding to use regex: all routes are compiled
to regexes, then the route finder just walks through them all until it
hits a match.

Doesn't fully work yet; JS test passes.
2021-03-21 15:35:01 -07:00
Omar Rizwan 57726b4354 extension: first cut at background.js.html 2021-03-21 11:55:52 -07:00
Omar Rizwan 11cf48259a test: separate tests from background.js, clean up and document a bit
also makes the test more lenient (subset instead of equality for tab
entries)
2021-03-14 21:33:23 -07:00
Omar Rizwan 00caad5228 extension: some cleanup, get rid of ToSafari thing we weren't using 2021-03-14 17:24:04 -07:00
Omar Rizwan 8f33a2feab extension: source.html -> body.html 2021-03-14 16:12:55 -07:00
Omar Rizwan 922e2bb6a3 extension: also remove spaces; spaces in filenames are annoying, imo 2021-03-14 15:53:04 -07:00
Omar Rizwan 636a975818 extension: use node-sanitize-filename sanitize 2021-03-14 15:50:49 -07:00
Omar Rizwan 49fea2b7e8 Merge commit 'refs/pullreqs/59' 2021-03-14 15:39:01 -07:00
Omar Rizwan 667f90ada4 md: evals -> watches 2021-02-25 15:43:02 -08:00
Omar Rizwan b5113fb2d1 rename old TAB/evals to TAB/watches; add new TAB/evals 2021-02-25 15:41:47 -08:00
Omar Rizwan 4fb8aee789 create -> mknod
(our create was broken, we weren't opening files as required)
2021-02-25 15:41:21 -08:00
Omar Rizwan a6c21effdc md: link demo separate from headline 2021-02-23 13:32:48 -08:00
Omar Rizwan c864d2859e test: temporarily disable execute-script and console tests 2021-02-23 13:29:15 -08:00
Omar Rizwan 063051d80b remove TAB/console and TAB/execute-script which are ugly
(and not really necessary now that we have evals, I think? like, as
long as you have some way to run JS on the content script, you can
build other functionality out of that)
2021-02-22 16:31:49 -08:00
Omar Rizwan ad80383242 extension: allow deletion of TAB/evals/* 2021-02-22 16:18:07 -08:00
Omar Rizwan dffc41a3e1 extension: add TAB/evals! 2021-02-22 15:33:31 -08:00
Omar Rizwan 5c3e851baf fs: fix create call (it was sending mkdir to extension) 2021-02-22 15:32:39 -08:00
Omar Rizwan bcf077ab06 hack to handle reading TAB/inputs/INVALIDID. also reorder some code 2021-02-21 20:43:31 -08:00
Omar Rizwan 97573b0313 update test to use inputs instead of textareas 2021-02-21 19:30:56 -08:00
Omar Rizwan 9827b089c1 change TAB/textareas to TAB/inputs, add support for text inputs 2021-02-19 11:26:33 -08:00
Omar Rizwan 07da85e36b add WINDOW/focused 2021-02-19 10:32:28 -08:00
Omar Rizwan e24f0f8afa active: refactor / simplify to use withTab 2021-02-19 10:02:39 -08:00
Omar Rizwan 2215ba8e41 fix bug with write permission for files with autogen getattr
(fixes bug with writing to `TAB/active` from Emacs Lisp, which checks
permission instead of just trying to write)
2021-02-19 09:26:20 -08:00
Omar Rizwan 248d416c0c add Safari to Web page 2021-02-14 16:50:18 -08:00
Omar Rizwan 5350b73c2a
Merge pull request #64 from osnr/safari
Safari support
2021-02-14 16:45:07 -08:00
Omar Rizwan 0f2ab4b4de safari: fix some races when you reload Web inspector, make ws connection retry 2021-02-08 13:45:26 -08:00
Omar Rizwan 2f639e2a02 safari: TabFSServer subprocess that can live long. fixes bug where fs would die after a minute or two 2021-02-08 12:12:43 -08:00
Omar Rizwan 9b4abc40ee safari: more cleanup and commenting 2021-02-08 05:03:31 -08:00
Omar Rizwan b6b61ee093 safari: make tabfs URL path independent 2021-02-08 04:52:07 -08:00
Omar Rizwan 341ae6d477 safari: more cleanup, start on README.md 2021-02-08 04:30:36 -08:00
Omar Rizwan eae9082407 safari: loopback restrict 2021-02-08 04:26:00 -08:00
Omar Rizwan 78f67aa873 safari: clean up code a bit 2021-02-08 04:21:58 -08:00
Omar Rizwan b19f68cc8e safari: it works over ws! 2021-02-08 04:16:30 -08:00
Omar Rizwan 4fdcf4be9d safari: successfully exchanges 1 req/resp over ws, then fails 2021-02-08 04:02:47 -08:00
Omar Rizwan 7211a5fdea safari: start migration to using out-of-band WebSocket to do extension<=>fs comm 2021-02-08 02:32:21 -08:00
Omar Rizwan 930352dd42 safari: works! (it lists tabs/by-title, at least)
Safari keeps stealing focus bc of how I do messaging to it now, need to fix all that next
2021-02-07 22:57:04 -08:00
Omar Rizwan 6f743114da safari: XPC service runs! 2021-02-07 21:44:46 -08:00
Omar Rizwan 8924f946dd safari: merge XPC service to run tabfs process. it builds but haven't hooked it in yet 2021-02-07 16:10:37 -08:00
Omar Rizwan 33e5911cb2 trying to just run straight from sandbox instead of xpc -- kinda works! blocked on libfuse 2021-02-07 02:46:07 -08:00