Giter Club home page Giter Club logo

spyglass's Introduction

Spyglass

A personal search engine that indexes what you want, exposing it to you in a simple & fast interface

Download now: macOS (Intel/ARM) | Windows | Linux (AppImage)

Documentation | Using Spyglass | Lenses



Create your library from:

  • Local documents/folders
  • Different internet topics (https://lenses.spyglass.fyi).
    • Lots of developer docs (Rustlang, Go, etc.)
    • Wikpedia, game wikis, etc.
  • Google Calendar events.
  • Google Drive docs.
  • GitHub repos, starred repos, & issues.
  • Reddit saved/upvoted posts.
  • Gmail
  • YouTube playlists & favorited.

Introduction

Spyglass lives on your device crawling & indexing websites you want with a basic set of rules.

Web pages when condensed down to text are surprisingly small. With todays' incredibly fast CPUs and ample amounts of of disk space, you can easily create a personal library of wikis, blog posts, etc. that can be referenced instantly. Cut through the SEO spam of the internet by building your own index.

For users who have been frustrated with the current state of search and the internet, Spyglass offers a powerful solution to find exactly what you want.

See Launching & Using Spyglass to get started.

Traditional web search sucks

The short answer is that Google search results are clearly dying. The long answer is that most of the web has become too inauthentic to trust.

Spyglass is a solution to the following common issues when searching the web:

  • Do you add terms such as reddit or wiki to your searches to narrow it down?
  • Do you get frustrated with overzealous autocorrect on your search terms?
  • Do you get frustrated with the terrible search some wikis/sites offer?
  • Do you scroll past dozens of SEO spam pages to find the recipe/review/blog post you were looking for?
  • Do you skip over a full-page of ads before getting to your actual search results?
  • Do you have private websites / data / documents that you'd like to search through?

How does it know what to crawl?

Spyglass expands on the ideas outlined in this paper by the Brave Search Team. There are currently a simple set of rules that will point Spyglass at a website and crawl only what you want. When available, crawling is bootstrapped w/ data from the Internet Archive to not overwhelm smaller websites.

For community lenses, we precrawl & preprocess these lenses so that you can get started searching through those topics immediately.

Not all websites & not all data can be crawled by Spyglass. If you have something that you'd like to index and would like some help, feel free to ping me on our Discord server!

See Community Lenses to install lenses others in the community have built.

See Building your own lens to see how easy it is to build your own lens. Please share w/ the community when you're done!

Developer Guide

If you'd like to help, reach out on our Discord server to see what is currently being developed and how you can help usher in a new, better search.

See Building from source to get started building & contributing to Spyglass.

TL;DR: If you want to build and run Spyglass from source, you can simply run this command:

cargo make run

spyglass's People

Contributors

a5huynh avatar aziks0 avatar devninja272 avatar dinhani avatar drchat avatar feel-ix-343 avatar frikksol avatar joelcourtney avatar lillyschramm avatar mattsre avatar sbeckeriv avatar travolin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spyglass's Issues

rust example in the readme has errors loading

I get
Unable to load lens "/home/stuart/.local/share/carto/lenses/rust.ron": 6:9: Expected string
it appears to be having problems with the # comments in both the domains and above the urls:
and the ... at the end of domains.
perhaps you should use // rather than # as this is a comment in ron, for the people like me that just want to try it quickly and easily

[improvement] Break up domain indexing

Dearest maintainer,

I was watching the indexing hammer away at the internet this morning at top speeds. I started to feel slightly bad for the domain. It is just one domain in my active list at the moment but have many to hit. I was wondering a max per domain limit perhaps. This would allow more then one domain to be hit and hopefully give a single domain a moments break? Maybe it should alternate ever N domains for the next N domains.

TLDR: break up hitting one domain as fast we can to be a slightly better web citizen.

Thanks for your work on this project
Becker

[improvemnt] break off browser importers

Dearest maintainer,

I have ran the firefox import code and it seems nice. I would like to use the concept in a broken out in to a cron-able cli. I am unsure how hard or easy the app state and sqlite connections will be to share. Another consideration is a specific block list for this task and a large starting len that blocks common indexing sites that change often. I think like https://news.ycombinator.com/ is not a good page to index but the sub pages are for example. another might be https://www.reddit.com/r/all/ I cant seem to find a domain list of domains that require accounts. mail.google.com for example.

Thanks again.
Becker

It's not crawling anymore???

Am I just stupid?
So one of my lenses just stopped crawling and none of the other fully completed ones are indexing anything?

AppImage immediately crashes on fedora with sway

not sure which is the culprit so I added both. I'm assuming that since spyglass app is trying to register a shortcut, this has to do with the window manager I am using. I'm guessing you are trying to communicate with some settings daemon which doesn't exist.

upon launching the app image, an grey X window appears with the text "search" and this text displays to stdout:

2022-07-27T17:01:08.719480Z  INFO tokio-runtime-worker spyglass_app: checking for update...    
2022-07-27T17:01:09.429989Z  INFO                 main spyglass_app: Registering CmdOrCtrl+Shift+/ as shortcut

afterwords the window crashes, the commandline seems to hang, no system tray icon appears.

about my system:
OS: fedora 36
kernel: 5.18.13-200.fc36.x86_64
window manager: sway 1.7
app image version: spyglass_22.7.4_amd64.AppImage

Spyglass cannot find lenses and logs folder when data_directory is set

When Spyglass has a config option data_directory set to a different folder, the button "Show setting folder" and "Show logs folder" opens a User Document folder instead of the actual location. But "Show settings folder" works just fine.

Windows 10, 21H2
Build: 19044.1706
Spyglass version: 2022.5.15

"Additional property 'useBootstrapper' is not allowed" when building from source

I'm trying to build from source on an M1 Mac (2021 Macbook Pro, macOS Monterey 12.3.1). In make build-release I am getting:

cargo tauri build
`tauri.conf.json` error on `tauri > bundle > deb`: Additional property 'useBootstrapper' is not allowed
`tauri.conf.json` error on `tauri > bundle > macOS`: Additional property 'useBootstrapper' is not allowed
make: *** [build-release] Error 1

Thanks for making this! I don't mind installing from the release, I just figured since this is an M1 mac it might be faster if built from source.

Configurable shortcut

It would be nice to be able to configure the shortcut. I personally would like to use Cmd+/ or Meta+/ (on linux).

Wierd indexing

I have an SMG lense, and searching in it is odd

When I search, for example, good egg, it doesn't show good egg galaxy
image

However, when I search something like pirahna, it does
image

It makes sense that searching pirahna shows good egg galaxy as thats where you fight the boss peewee pirahna, but it doesn't make sense that it doesn't show the page for peewee pirahna, which i do have indexed
image

Is there some way in which I can better tune how spyglass goes through the indexed pages?

Typeahead UI not showing suggestions

Hello, saw this on HN and thought it's a really cool idea ;)

I have downloaded the Appimage for Linux and added a Lens (gentoo wiki). So far the indexing is working and the tray is also showing up in polybar.

However when I am using the typeahead, I presume there should be suggestions but nothing is showing up. If I press enter, it does open up a relevant page in browser so I believe it's just a UI glitch and not an indexing problem.

screenshot

I am using Xorg with bspwm as window manager. Any idea what can I do to debug this? Not sure if the gtk warnings are important, but there is one thing marked as critical:

/tmp
λ ./spyglass_22.6.3_amd64.AppImage  

(spyglass:11592): Gtk-WARNING **: 20:04:06.530: Theme parsing error: gtk.css:63:28: The :prelight pseudo-class is deprecated. Use :hover instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.530: Theme parsing error: gtk.css:73:35: The :prelight pseudo-class is deprecated. Use :hover instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.530: Theme parsing error: gtk.css:115:31: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.530: Theme parsing error: gtk.css:116:24: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.531: Theme parsing error: gtk.css:145:27: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.531: Theme parsing error: gtk.css:146:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.531: Theme parsing error: gtk.css:166:34: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(spyglass:11592): Gtk-WARNING **: 20:04:06.531: Theme parsing error: gtk.css:187:34: The :inconsistent pseudo-class is deprecated. Use :indeterminate instead.
2022-06-24T14:04:07.863515Z  INFO main spyglass_app: Registering CmdOrCtrl+Shift+/ as shortcut    

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.017: Theme parsing error: gtk.css:63:28: The :prelight pseudo-class is deprecated. Use :hover instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:73:35: The :prelight pseudo-class is deprecated. Use :hover instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:115:31: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:116:24: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:145:27: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:146:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:166:34: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(WebKitWebProcess:11615): Gtk-WARNING **: 20:04:08.018: Theme parsing error: gtk.css:187:34: The :inconsistent pseudo-class is deprecated. Use :indeterminate instead.

(spyglass:11592): Gdk-CRITICAL **: 20:04:08.081: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

Indexing never completes

Upon initial launch. I selected a community lense (factorio) to download, as a test. Since then, all windows are refreshing indefinitely.

Upon launching from terminal, I am getting these errors:

This is using spyglass_22.7.4_amd64.AppImage on Manjaro linux.

This seems to be the case, even when deleting factorio.ron in /home/user/.local/share/spyglass/lenses/ and restarting the client.

Invalid discord link

hey just a heads up, not an actual issue with the code, but the discord invite in the Readme appears to be invalid

unrelated to that, and more to the reason I was heading over to the discord, could this be used to index local files? like say a library of 800+ books, the documentation for dependencies, or a bunch of software projects?

Better lens management

  • Connect w/ a directory to find/install new lenses
  • Enable/disable currently installed ones
  • Basic validation

Non-local install and database location

In the current version release: Spyglass v2022.5.11. it isn't possible to install spyglass on a non-local drive, as the installer won't let you even if you force the path, this wouldn't be that big of a deal, but I would very much like to be able to change a database folder location, to move it to a network drive to share index between multiple PC in a home network, this would significantly save time as not to index same websites on every PC.

"Search" box rendering off screen

Depending on multi-display orientation, the search box will not be rendered on screen. This is with spyglass_22.7.4_amd64.AppImage on Manjaro Linux, using the Cinnamon desktop environment. So the search box appears to be horizontally aligned with the primary display, but not vertically.

Examples

Pause indexing stops too much

When I tell it to pause crawling, it kinda just dies. The Icon shows up, but when I tried to right click it to enable it again, there's no window that shows up. Attempting to open a new spyglass also doesn't work. Task manager was necessary to close it so I could open a clean instance.

[bug] Batch load queued and indexed

Dearest Maintainer,

Thank you for your work on this. I have not indexed the world yet but I strive to. I was running the not working firefox importer code you started and hit a fun limit. https://github.com/a5huynh/spyglass/blob/main/crates/entities/src/models/crawl_queue.rs#L370 i have 69736 urls. This causes some issue in the sql because of the variable limit. Batch loading by chunks of urls should prevent any future issues.

Thank you again for your time debugging.

[edit] this also applies to the insert all call at the end of the process

add Build and Run instructions to README

On Windows, spyglass appears to stop working, and from the server logs I can only see that they stop to be generated. So I am trying to run it from source to see if it is panicking or something. But I never tried to build a tauri or client/server project, so I don't know how to get it running.

Can you include in the README instruction to Build and Run spyglass in dev?

I think it is make run-client-dev (after running make setup-dev), but it "failed to run custom build command for spyglass-app", so I want to make sure before investigating it.

could not compile `local-file-indexer` and `chrome-importer` due to previous error

Ubuntu 20.04

git clone https://github.com/a5huynh/spyglass
cd spyglass
cargo build --release
.
.
.
   Compiling sentry-types v0.27.0
   Compiling local-file-indexer v0.1.0 (/home/user/Rust/spyglass/plugins/local-file-indexer)
   Compiling chrome-importer v0.1.0 (/home/user/Rust/spyglass/plugins/chrome-importer)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcydFE88/symbols.o" "/home/user/Rust/spyglass/target/release/deps/local_file_indexer-a4393f9452f7164f.local_file_indexer.a51bfe0f-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/home/user/Rust/spyglass/target/release/deps" "-L" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d1bd89f2a607e488.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/user/Rust/spyglass/target/release/deps/local_file_indexer-a4393f9452f7164f" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/user/Rust/spyglass/target/release/deps/local_file_indexer-a4393f9452f7164f.local_file_indexer.a51bfe0f-cgu.0.rcgu.o: in function `local_file_indexer::main':
          local_file_indexer.a51bfe0f-cgu.0:(.text._ZN18local_file_indexer4main17h266423a56a4d5a52E+0x10b0): undefined reference to `plugin_cmd'
          /usr/bin/ld: /home/user/Rust/spyglass/target/release/deps/local_file_indexer-a4393f9452f7164f.local_file_indexer.a51bfe0f-cgu.0.rcgu.o: in function `spyglass_plugin::shims::enqueue_all':
          local_file_indexer.a51bfe0f-cgu.0:(.text._ZN15spyglass_plugin5shims11enqueue_all17hbe088b44a407d5c0E+0xc4): undefined reference to `plugin_cmd'
          /usr/bin/ld: /home/user/Rust/spyglass/target/release/deps/local_file_indexer-a4393f9452f7164f.local_file_indexer.a51bfe0f-cgu.0.rcgu.o: in function `spyglass_plugin::shims::list_dir':
          local_file_indexer.a51bfe0f-cgu.0:(.text._ZN15spyglass_plugin5shims8list_dir17hebeae4ddd34b4f80E+0x7a): undefined reference to `plugin_cmd'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `local-file-indexer` due to previous error
warning: build failed, waiting for other jobs to finish...
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/tmp/rustcerozSZ/symbols.o" "/home/user/Rust/spyglass/target/release/deps/chrome_importer-241add9828121232.chrome_importer.ff1e7e44-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/home/user/Rust/spyglass/target/release/deps" "-L" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d1bd89f2a607e488.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/user/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/user/Rust/spyglass/target/release/deps/chrome_importer-241add9828121232" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/user/Rust/spyglass/target/release/deps/chrome_importer-241add9828121232.chrome_importer.ff1e7e44-cgu.0.rcgu.o: in function `chrome_importer::main':
          chrome_importer.ff1e7e44-cgu.0:(.text._ZN15chrome_importer4main17hf1fca616f2545b95E+0x6c): undefined reference to `plugin_cmd'
          /usr/bin/ld: chrome_importer.ff1e7e44-cgu.0:(.text._ZN15chrome_importer4main17hf1fca616f2545b95E+0x42a): undefined reference to `plugin_cmd'
          collect2: error: ld returned 1 exit status
          
  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `chrome-importer` due to previous error

Adding local file search

Hey! A few years ago I set out to make a similar project but that was focused on local file search.

You can find it here: https://github.com/teovoinea/podium

Much of the architecture of spyglass seems to be very similar to podium. They both use tantivy for indexing and tokio for async. It seems like you've made some great progress on the UI and bundling it as an actual app. Much farther along than I got in that respect.

I haven't had the time to work on that project outside of maintaining the dependencies.

Would you be interested in 'absorbing' my local file indexers?

I still think there's huge value in building a tool like this. Especially one that can run entirely locally on your machine but still bring some AI smarts like object detection an OCR that's typically cloud only.

Crawl Status

I love the crawl status screen.
I think it might be nice to show, for each set of URLs, which lens is responsible for bringing that URL set into the queue.

I have a number of URLs which, I don't know how they got into the queue, so It would be nice to figure out which lens they're from so I can fix the lens.
image

build fails

Hi, im trying to make a nixos derivation for spyglass, but the build fails. Here are the error logs:

   Compiling spyglass-plugin v0.1.0 (/build/source/crates/spyglass-plugin)
   Compiling shared v0.1.0 (/build/source/crates/shared)
   Compiling spyglass-app v0.1.3 (/build/source/crates/tauri)
   Compiling chrome-importer v0.1.0 (/build/source/plugins/chrome-importer)
   Compiling firefox-importer v0.1.0 (/build/source/plugins/firefox-importer)
   Compiling entities v0.1.0 (/build/source/crates/entities)
error: failed to run custom build command for `spyglass-app v0.1.3 (/build/source/crates/tauri)`

Caused by:
  process didn't exit successfully: `/build/source/target/release/build/spyglass-app-d765c576e4433d9c/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=TAURI_CONFIG
  cargo:rerun-if-changed=tauri.conf.json
  path matching binaries/spyglass-server-x86_64-unknown-linux-gnu not found.
warning: build failed, waiting for other jobs to finish...
error: could not compile `firefox-importer` due to 2 previous errors
error: could not compile `chrome-importer` due to 2 previous errors
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/build/rustcqPZvUX/symbols.o" "/build/source/target/release/deps/firefox_importer-0e1b83f0219e11e1.firefox_importer.4a5b9ec5-cgu.
0.rcgu.o" "-Wl,--as-needed" "-L" "/build/source/target/release/deps" "-L" "/nix/store/0ffvmb6igda9zwzw0rqwsdh1wv4s5i8g-rust-1.62.1-2022-07-16-e092d0b6b/
lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/nix/store/slf8lc3fp9v8g32x97d1q2pkiwg0l0hh-rust/lib/rus
tlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d1bd89f2a607e488.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "
-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/nix/store/0ffvmb6igda9zwzw0rqwsdh1wv4s5i8g-rust-1.62.1-2022-07-16-e092d0b6b/lib/rustlib/x86_64-unknown-li
nux-gnu/lib" "-o" "/build/source/target/release/deps/firefox_importer-0e1b83f0219e11e1" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"
  = note: /nix/store/0gzd0049bywqhzi5anbydsxil7r1lfrj-binutils-2.38/bin/ld: /build/source/target/release/deps/firefox_importer-0e1b83f0219e11e1.firefox_
importer.4a5b9ec5-cgu.0.rcgu.o: in function `firefox_importer::main':
          firefox_importer.4a5b9ec5-cgu.0:(.text._ZN16firefox_importer4main17hd80ee1fc723dcba9E+0x79): undefined reference to `plugin_cmd'
          /nix/store/0gzd0049bywqhzi5anbydsxil7r1lfrj-binutils-2.38/bin/ld: firefox_importer.4a5b9ec5-cgu.0:(.text._ZN16firefox_importer4main17hd80ee1fc
723dcba9E+0x491): undefined reference to `plugin_cmd'
          /nix/store/0gzd0049bywqhzi5anbydsxil7r1lfrj-binutils-2.38/bin/ld: firefox_importer.4a5b9ec5-cgu.0:(.text._ZN16firefox_importer4main17hd80ee1fc
723dcba9E+0xa3a): undefined reference to `plugin_sync_file'
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/bui
ld-scripts.html#cargorustc-link-libkindname)


error: aborting due to previous error


error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/build/rustc9OIvXX/symbols.o" "/build/source/target/release/deps/chrome_importer-241add9828121232.chrome_importer.ff1e7e44-cgu.0.
:

I have the following packages installed as buildInputs:

dbus  
sass 
cairo 
pango 
atk 
gdk-pixbuf 
librsvg 
patchelf
pkg-config
openssl
glib
gtk3
libsoup
webkitgtk

Shortcut to launch Spyglass

So I tried the Cmd + Shift + / which didn't work, I always seem to have issues using the cmd key. Not to be deterred I changed it to the last example in the readme "Shift+4+2" and get
thread 'main' panicked at 'invalid accelerator: AcceleratorParseError("Unexpected accelerator string format: "Shift+4+2"")',
I tried a few other things and eventually got it to load but it still isn't opening a search window. It might be nice if it was an option in the menu also when I click on the overly large panel icon I get.

[improvement] cache calls to robot.txt

Dearest maintainer,

I think caching calls in memory(?) to robots.txt for an hour would save a lot of calls to robots.txt when importing. I was going to say per session but i think a time limit would cover a lot of calls.

Thanks for your consideration
Becker

Windows installer finishes before Webview2 Runtime install complete

Not sure if this is Spyglass-specific issue or applies to all Tauri installers, but thought it'd be good to mention.

When running Spyglass_0.1.2_x64_en-US.msi from Spyglass v0.1.2 the primary installer states installation is complete and allows the user to start the application, even though Microsoft Edge Webview2 Runtime may still be downloading.

I haven't gotten the chance to try running Spyglass prior to the download finishing, but I'm guessing the app would crash.

Startup crash after increasing limits

Hi, I tried increasing the limits in settings.ron and now spyglass crashes on startup with the following crash report (sorry, it is very big):

Report

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Spyglass [5898]
Path:                  /Applications/Spyglass.app/Contents/MacOS/Spyglass
Identifier:            com.athlabs.spyglass
Version:               0.1.1 (20220426.224911)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               503

Date/Time:             2022-04-27 16:25:47.8097 -0600
OS Version:            macOS 12.3.1 (21E258)
Report Version:        12
Anonymous UUID:        1F65F5E1-6184-8FD3-102B-5704CA4B0523


Time Awake Since Boot: 630 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x19dde0db8 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x19de15ee0 pthread_kill + 288
2   libsystem_c.dylib             	       0x19dd50340 abort + 168
3   Spyglass                      	       0x1004a546c panic_abort::__rust_start_panic::abort::h1c15f173205f0a56 + 12
4   Spyglass                      	       0x1004a5460 __rust_start_panic + 12
5   Spyglass                      	       0x1004e6854 rust_panic + 12
6   Spyglass                      	       0x1004ef9dc std::panicking::rust_panic_with_hook::h191339fbd2fe2360 + 1600
7   Spyglass                      	       0x1004ef378 std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h91c230befd9929e3 + 136
8   Spyglass                      	       0x1004ef2f0 std::sys_common::backtrace::__rust_end_short_backtrace::haaaeebb1d37476b3 + 12
9   Spyglass                      	       0x1004ef2bc rust_begin_unwind + 36
10  Spyglass                      	       0x10058a44c core::panicking::panic_fmt::h4fe1013b011ef602 + 52
11  Spyglass                      	       0x10058a684 core::result::unwrap_failed::hf608a47e6e04ea5d + 92
12  Spyglass                      	       0x10044d1ec _$LT$core..future..from_generator..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h4e2900dbf21a58c9 + 484
13  Spyglass                      	       0x10043fb04 tokio::runtime::enter::Enter::block_on::h43c7b54a2055355f + 208
14  Spyglass                      	       0x1003725f4 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h3e286ec6b8beaa2f + 556
15  Spyglass                      	       0x10039f388 tauri::app::Builder$LT$R$GT$::build::h7335da3e55a609d2 + 12796
16  Spyglass                      	       0x100385488 spyglass_app::main::he2da678f0491802f + 14336
17  Spyglass                      	       0x10044a7c4 std::sys_common::backtrace::__rust_begin_short_backtrace::h20803411d9ec7297 + 12
18  Spyglass                      	       0x10044ff84 main + 700
19  dyld                          	       0x100c35088 start + 516

Thread 1:
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x1004c8edc std::thread::park::h6bcc928300774db1 + 184
3   Spyglass                      	       0x10038f7e4 crossbeam_channel::context::Context::wait_until::h151016ace506ce0d + 152
4   Spyglass                      	       0x10038ed74 crossbeam_channel::context::Context::with::_$u7b$$u7b$closure$u7d$$u7d$::h92e246d57fe9a474 + 272
5   Spyglass                      	       0x10044aa64 std::sys_common::backtrace::__rust_begin_short_backtrace::hba19df49b87dac09 + 368
6   Spyglass                      	       0x1003738f0 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h900546f442c28da8 + 140
7   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
8   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
9   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 2:
0   libsystem_pthread.dylib       	       0x19de11078 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	       0x19de11078 start_wqthread + 0

Thread 4::  Dispatch queue: com.apple.WebKit.ServicesController
0   libsystem_kernel.dylib        	       0x19ddda854 __ulock_wait + 8
1   libdispatch.dylib             	       0x19dc52ba0 _dlock_wait + 56
2   libdispatch.dylib             	       0x19dc52954 _dispatch_thread_event_wait_slow + 56
3   libdispatch.dylib             	       0x19dc616f4 __DISPATCH_WAIT_FOR_QUEUE__ + 356
4   libdispatch.dylib             	       0x19dc612ac _dispatch_sync_f_slow + 144
5   WebKit                        	       0x1bc96b764 void std::__1::__call_once_proxy<std::__1::tuple<WebKit::ServicesController::refreshExistingServices(bool)::'block-literal'::$_8&&> >(void*) + 112
6   libc++.1.dylib                	       0x19dd67904 std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*)) + 180
7   WebKit                        	       0x1bc961b54 invocation function for block in WebKit::ServicesController::refreshExistingServices(bool) + 452
8   libdispatch.dylib             	       0x19dc50604 _dispatch_call_block_and_release + 32
9   libdispatch.dylib             	       0x19dc521c8 _dispatch_client_callout + 20
10  libdispatch.dylib             	       0x19dc598a8 _dispatch_lane_serial_drain + 668
11  libdispatch.dylib             	       0x19dc5a404 _dispatch_lane_invoke + 392
12  libdispatch.dylib             	       0x19dc64c98 _dispatch_workloop_worker_thread + 648
13  libsystem_pthread.dylib       	       0x19de12360 _pthread_wqthread + 288
14  libsystem_pthread.dylib       	       0x19de11080 start_wqthread + 8

Thread 5:: JavaScriptCore libpas scavenger
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   JavaScriptCore                	       0x1b74fd658 scavenger_thread_main + 1232
3   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
4   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 6:: com.apple.coreanimation.render-server
0   libsystem_kernel.dylib        	       0x19ddd88d0 mach_msg_trap + 8
1   libsystem_kernel.dylib        	       0x19ddd8d40 mach_msg + 76
2   QuartzCore                    	       0x1a4d87cb8 CA::Render::Server::server_thread(void*) + 516
3   QuartzCore                    	       0x1a4d87aa4 thread_fun(void*) + 32
4   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
5   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 7:
0   libsystem_pthread.dylib       	       0x19de11078 start_wqthread + 0

Thread 8:
0   libsystem_pthread.dylib       	       0x19de11078 start_wqthread + 0

Thread 9:
0   libsystem_pthread.dylib       	       0x19de11078 start_wqthread + 0

Thread 10:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 11:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 12:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 13:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 14:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 15:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 16:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 17:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 18:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddc290 __psynch_cvwait + 8
1   libsystem_pthread.dylib       	       0x19de1683c _pthread_cond_wait + 1236
2   Spyglass                      	       0x10055e618 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 484
3   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
4   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
5   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
6   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
7   libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
8   libsystem_pthread.dylib       	       0x19de1108c thread_start + 8

Thread 19:: tokio-runtime-worker
0   libsystem_kernel.dylib        	       0x19dddec40 kevent + 8
1   Spyglass                      	       0x100560414 tokio::io::driver::Driver::turn::h8996840755a9c054 + 536
2   Spyglass                      	       0x1005600a4 _$LT$tokio..park..either..Either$LT$A$C$B$GT$$u20$as$u20$tokio..park..Park$GT$::park::h5d96d501a5d63a53 + 52
3   Spyglass                      	       0x10056001c tokio::time::driver::Driver$LT$P$GT$::park_internal::h176f2d029fa8da64 + 344
4   Spyglass                      	       0x10055fe20 _$LT$tokio..park..either..Either$LT$A$C$B$GT$$u20$as$u20$tokio..park..Park$GT$::park::h1ad07bd005d6fdb9 + 56
5   Spyglass                      	       0x10055e564 tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c + 304
6   Spyglass                      	       0x10056754c tokio::runtime::task::raw::poll::h4bb050d11be3dc0e + 1380
7   Spyglass                      	       0x100563e6c std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4 + 468
8   Spyglass                      	       0x100563c34 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c + 124
9   Spyglass                      	       0x1004f0eac std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0 + 48
10  libsystem_pthread.dylib       	       0x19de1626c _pthread_start + 148
11  libsystem_pthread.dylib       	       0x19de1108c thread_start + 8


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x0000010100000180   x5: 0xffffffff00000000   x6: 0x00000101000001c0   x7: 0xffffffff00000100
    x8: 0x1080e5d4be6f8bd5   x9: 0x1080e5d5bea50e55  x10: 0x0000000000000101  x11: 0x0000000000000000
   x12: 0x0000000000000000  x13: 0x0000000000000101  x14: 0x0000000094dee800  x15: 0x00000000000003dd
   x16: 0x0000000000000148  x17: 0x00000001f7c83640  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x0000000100ca8580  x21: 0x0000000000000103  x22: 0x0000000100ca8660  x23: 0x0000000000000000
   x24: 0x00000001006dd000  x25: 0x0000000000000001  x26: 0x000000019de1d630  x27: 0x0000000000000000
   x28: 0x00006000006004b0   fp: 0x000000016fa8a490   lr: 0x000000019de15ee0
    sp: 0x000000016fa8a470   pc: 0x000000019dde0db8 cpsr: 0x40001000
   far: 0x000000011670d748  esr: 0x56000080  Address size fault

Binary Images:
       0x19ddd7000 -        0x19de0efff libsystem_kernel.dylib (*) <1d7b3b8e-75a1-34ea-aa52-9f7c23155c55> /usr/lib/system/libsystem_kernel.dylib
       0x19de0f000 -        0x19de1bfff libsystem_pthread.dylib (*) <cee8bc77-6923-34d9-89a3-6f8f7279605e> /usr/lib/system/libsystem_pthread.dylib
       0x19dcd6000 -        0x19dd57fff libsystem_c.dylib (*) <fd566a15-42d8-314a-a99a-b59237ddf5bc> /usr/lib/system/libsystem_c.dylib
       0x100370000 -        0x100697fff com.athlabs.spyglass (0.1.1) <cb70820e-afcb-3d8b-bfec-c60cc7ec1c3e> /Applications/Spyglass.app/Contents/MacOS/Spyglass
       0x100c30000 -        0x100c8ffff dyld (*) <fbb89662-e6f2-3434-b542-f75185ac5e74> /usr/lib/dyld
       0x19dc4e000 -        0x19dc94fff libdispatch.dylib (*) <dc048e3b-e023-3d17-afe5-4ff3dc625608> /usr/lib/system/libdispatch.dylib
       0x1bc4df000 -        0x1bcedefff com.apple.WebKit (17613) <a0d4672c-7977-38c5-a8ee-d270e4396b19> /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit
       0x19dd58000 -        0x19ddbefff libc++.1.dylib (*) <06bc1ec0-9992-398e-a85b-2973eb1fdba2> /usr/lib/libc++.1.dylib
       0x1b62c7000 -        0x1b7626fff com.apple.JavaScriptCore (17613) <51b72434-3e48-3716-9e20-65d600d8f376> /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore
       0x1a4d40000 -        0x1a5069fff com.apple.QuartzCore (1.11) <b3f9d8bc-5d97-3a56-8797-fd3e8847a5b0> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)
Writable regions: Total=1.8G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.8G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Activity Tracing                   256K        1 
ColorSync                          528K       23 
CoreGraphics                        32K        2 
Foundation                          16K        1 
JS JIT generated code            512.0M        3 
Kernel Alloc Once                   32K        1 
MALLOC                           255.3M       43 
MALLOC guard page                  192K        9 
MALLOC_MEDIUM (reserved)         480.0M        4         reserved VM address space (unallocated)
MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
STACK GUARD                        304K       19 
Stack                             35.1M       20 
Stack Guard                       56.0M        1 
VM_ALLOCATE                        448K       19 
VM_ALLOCATE (reserved)            1536K       12         reserved VM address space (unallocated)
WebKit Malloc                    192.0M        4 
__AUTH                            2509K      289 
__AUTH_CONST                      19.5M      474 
__DATA                            14.8M      467 
__DATA_CONST                      17.7M      482 
__DATA_DIRTY                      1740K      207 
__FONT_DATA                          4K        1 
__GLSLBUILTINS                    5176K        1 
__LINKEDIT                       586.9M        6 
__OBJC_CONST                      3384K      262 
__OBJC_RO                         82.9M        1 
__OBJC_RW                         3152K        1 
__TEXT                           488.0M      499 
__UNICODE                          592K        1 
dyld private memory               1024K        1 
mapped file                       75.6M       17 
shared memory                      848K       13 
===========                     =======  ======= 
TOTAL                              3.1G     2885 
TOTAL, minus reserved VM space     2.3G     2885 



-----------
Full Report
-----------

{"app_name":"Spyglass","timestamp":"2022-04-27 16:25:48.00 -0600","app_version":"0.1.1","slice_uuid":"cb70820e-afcb-3d8b-bfec-c60cc7ec1c3e","build_version":"20220426.224911","platform":1,"bundleID":"com.athlabs.spyglass","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.3.1 (21E258)","incident_id":"DD8C0463-C2AA-46F6-8764-F144262500ED","name":"Spyglass"}
{
  "uptime" : 630,
  "procLaunch" : "2022-04-27 16:25:47.2119 -0600",
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 503,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro18,2",
  "procStartAbsTime" : 15247016726,
  "coalitionID" : 1294,
  "osVersion" : {
    "train" : "macOS 12.3.1",
    "build" : "21E258",
    "releaseType" : "User"
  },
  "captureTime" : "2022-04-27 16:25:47.8097 -0600",
  "incident" : "DD8C0463-C2AA-46F6-8764-F144262500ED",
  "bug_type" : "309",
  "pid" : 5898,
  "procExitAbsTime" : 15261022278,
  "translated" : false,
  "cpuType" : "ARM-64",
  "procName" : "Spyglass",
  "procPath" : "\/Applications\/Spyglass.app\/Contents\/MacOS\/Spyglass",
  "bundleInfo" : {"CFBundleShortVersionString":"0.1.1","CFBundleVersion":"20220426.224911","CFBundleIdentifier":"com.athlabs.spyglass"},
  "storeInfo" : {"deviceIdentifierForVendor":"567918B5-7FE3-52EE-B425-24937D5DF7B2","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.athlabs.spyglass",
  "crashReporterKey" : "1F65F5E1-6184-8FD3-102B-5704CA4B0523",
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "asi" : {"libsystem_c.dylib":["abort() called"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 0,
  "threads" : [{"triggered":true,"id":29276,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":1103806595456},{"value":18446744069414584320},{"value":1103806595520},{"value":18446744069414584576},{"value":1189203003516619733},{"value":1189203007815093845},{"value":257},{"value":0},{"value":0},{"value":257},{"value":2497636352},{"value":989},{"value":328},{"value":8452060736},{"value":0},{"value":6},{"value":4308239744,"symbolLocation":0,"symbol":"_main_thread"},{"value":259},{"value":4308239968,"symbolLocation":224,"symbol":"_main_thread"},{"value":0},{"value":4302163968,"symbolLocation":56,"symbol":"std::sys_common::backtrace::lock::LOCK::h4fae628c06bdb40b"},{"value":1},{"value":6943790640,"symbolLocation":0,"symbol":"tlv_get_addr"},{"value":0},{"value":105553122559152}],"flavor":"ARM_THREAD_STATE64","lr":{"value":6943760096},"cpsr":{"value":1073745920},"fp":{"value":6168290448},"sp":{"value":6168290416},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":6943542712,"matchesCrashFrame":1},"far":{"value":4671461192}},"queue":"com.apple.main-thread","frames":[{"imageOffset":40376,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":28384,"symbol":"pthread_kill","symbolLocation":288,"imageIndex":1},{"imageOffset":500544,"symbol":"abort","symbolLocation":168,"imageIndex":2},{"imageOffset":1266796,"symbol":"panic_abort::__rust_start_panic::abort::h1c15f173205f0a56","symbolLocation":12,"imageIndex":3},{"imageOffset":1266784,"symbol":"__rust_start_panic","symbolLocation":12,"imageIndex":3},{"imageOffset":1534036,"symbol":"rust_panic","symbolLocation":12,"imageIndex":3},{"imageOffset":1571292,"symbol":"std::panicking::rust_panic_with_hook::h191339fbd2fe2360","symbolLocation":1600,"imageIndex":3},{"imageOffset":1569656,"symbol":"std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::h91c230befd9929e3","symbolLocation":136,"imageIndex":3},{"imageOffset":1569520,"symbol":"std::sys_common::backtrace::__rust_end_short_backtrace::haaaeebb1d37476b3","symbolLocation":12,"imageIndex":3},{"imageOffset":1569468,"symbol":"rust_begin_unwind","symbolLocation":36,"imageIndex":3},{"imageOffset":2204748,"symbol":"core::panicking::panic_fmt::h4fe1013b011ef602","symbolLocation":52,"imageIndex":3},{"imageOffset":2205316,"symbol":"core::result::unwrap_failed::hf608a47e6e04ea5d","symbolLocation":92,"imageIndex":3},{"imageOffset":905708,"symbol":"_$LT$core..future..from_generator..GenFuture$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h4e2900dbf21a58c9","symbolLocation":484,"imageIndex":3},{"imageOffset":850692,"symbol":"tokio::runtime::enter::Enter::block_on::h43c7b54a2055355f","symbolLocation":208,"imageIndex":3},{"imageOffset":9716,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h3e286ec6b8beaa2f","symbolLocation":556,"imageIndex":3},{"imageOffset":193416,"symbol":"tauri::app::Builder$LT$R$GT$::build::h7335da3e55a609d2","symbolLocation":12796,"imageIndex":3},{"imageOffset":87176,"symbol":"spyglass_app::main::he2da678f0491802f","symbolLocation":14336,"imageIndex":3},{"imageOffset":894916,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h20803411d9ec7297","symbolLocation":12,"imageIndex":3},{"imageOffset":917380,"symbol":"main","symbolLocation":700,"imageIndex":3},{"imageOffset":20616,"symbol":"start","symbolLocation":516,"imageIndex":4}]},{"id":29286,"frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":1412828,"symbol":"std::thread::park::h6bcc928300774db1","symbolLocation":184,"imageIndex":3},{"imageOffset":128996,"symbol":"crossbeam_channel::context::Context::wait_until::h151016ace506ce0d","symbolLocation":152,"imageIndex":3},{"imageOffset":126324,"symbol":"crossbeam_channel::context::Context::with::_$u7b$$u7b$closure$u7d$$u7d$::h92e246d57fe9a474","symbolLocation":272,"imageIndex":3},{"imageOffset":895588,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::hba19df49b87dac09","symbolLocation":368,"imageIndex":3},{"imageOffset":14576,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h900546f442c28da8","symbolLocation":140,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29287,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":29288,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":29289,"queue":"com.apple.WebKit.ServicesController","frames":[{"imageOffset":14420,"symbol":"__ulock_wait","symbolLocation":8,"imageIndex":0},{"imageOffset":19360,"symbol":"_dlock_wait","symbolLocation":56,"imageIndex":5},{"imageOffset":18772,"symbol":"_dispatch_thread_event_wait_slow","symbolLocation":56,"imageIndex":5},{"imageOffset":79604,"symbol":"__DISPATCH_WAIT_FOR_QUEUE__","symbolLocation":356,"imageIndex":5},{"imageOffset":78508,"symbol":"_dispatch_sync_f_slow","symbolLocation":144,"imageIndex":5},{"imageOffset":4769636,"symbol":"void std::__1::__call_once_proxy<std::__1::tuple<WebKit::ServicesController::refreshExistingServices(bool)::'block-literal'::$_8&&> >(void*)","symbolLocation":112,"imageIndex":6},{"imageOffset":63748,"symbol":"std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*))","symbolLocation":180,"imageIndex":7},{"imageOffset":4729684,"symbol":"invocation function for block in WebKit::ServicesController::refreshExistingServices(bool)","symbolLocation":452,"imageIndex":6},{"imageOffset":9732,"symbol":"_dispatch_call_block_and_release","symbolLocation":32,"imageIndex":5},{"imageOffset":16840,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":5},{"imageOffset":47272,"symbol":"_dispatch_lane_serial_drain","symbolLocation":668,"imageIndex":5},{"imageOffset":50180,"symbol":"_dispatch_lane_invoke","symbolLocation":392,"imageIndex":5},{"imageOffset":93336,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":648,"imageIndex":5},{"imageOffset":13152,"symbol":"_pthread_wqthread","symbolLocation":288,"imageIndex":1},{"imageOffset":8320,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":1}]},{"id":29298,"name":"JavaScriptCore libpas scavenger","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":19097176,"symbol":"scavenger_thread_main","symbolLocation":1232,"imageIndex":8},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29302,"name":"com.apple.coreanimation.render-server","frames":[{"imageOffset":6352,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":7488,"symbol":"mach_msg","symbolLocation":76,"imageIndex":0},{"imageOffset":294072,"symbol":"CA::Render::Server::server_thread(void*)","symbolLocation":516,"imageIndex":9},{"imageOffset":293540,"symbol":"thread_fun(void*)","symbolLocation":32,"imageIndex":9},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29305,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":29307,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":29309,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":29315,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29316,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29317,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29318,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29319,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29320,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29321,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29322,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29323,"name":"tokio-runtime-worker","frames":[{"imageOffset":21136,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":30780,"symbol":"_pthread_cond_wait","symbolLocation":1236,"imageIndex":1},{"imageOffset":2024984,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":484,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":29324,"name":"tokio-runtime-worker","frames":[{"imageOffset":31808,"symbol":"kevent","symbolLocation":8,"imageIndex":0},{"imageOffset":2032660,"symbol":"tokio::io::driver::Driver::turn::h8996840755a9c054","symbolLocation":536,"imageIndex":3},{"imageOffset":2031780,"symbol":"_$LT$tokio..park..either..Either$LT$A$C$B$GT$$u20$as$u20$tokio..park..Park$GT$::park::h5d96d501a5d63a53","symbolLocation":52,"imageIndex":3},{"imageOffset":2031644,"symbol":"tokio::time::driver::Driver$LT$P$GT$::park_internal::h176f2d029fa8da64","symbolLocation":344,"imageIndex":3},{"imageOffset":2031136,"symbol":"_$LT$tokio..park..either..Either$LT$A$C$B$GT$$u20$as$u20$tokio..park..Park$GT$::park::h1ad07bd005d6fdb9","symbolLocation":56,"imageIndex":3},{"imageOffset":2024804,"symbol":"tokio::runtime::thread_pool::worker::Context::park_timeout::h671d428a3cb8568c","symbolLocation":304,"imageIndex":3},{"imageOffset":2061644,"symbol":"tokio::runtime::task::raw::poll::h4bb050d11be3dc0e","symbolLocation":1380,"imageIndex":3},{"imageOffset":2047596,"symbol":"std::sys_common::backtrace::__rust_begin_short_backtrace::h98f5d6867540bbc4","symbolLocation":468,"imageIndex":3},{"imageOffset":2047028,"symbol":"core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h60c95f04de1ef72c","symbolLocation":124,"imageIndex":3},{"imageOffset":1576620,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h8ccdabc567c5eee0","symbolLocation":48,"imageIndex":3},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":1},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6943502336,
    "size" : 229376,
    "uuid" : "1d7b3b8e-75a1-34ea-aa52-9f7c23155c55",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6943731712,
    "size" : 53248,
    "uuid" : "cee8bc77-6923-34d9-89a3-6f8f7279605e",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6942449664,
    "size" : 532480,
    "uuid" : "fd566a15-42d8-314a-a99a-b59237ddf5bc",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4298571776,
    "CFBundleShortVersionString" : "0.1.1",
    "CFBundleIdentifier" : "com.athlabs.spyglass",
    "size" : 3309568,
    "uuid" : "cb70820e-afcb-3d8b-bfec-c60cc7ec1c3e",
    "path" : "\/Applications\/Spyglass.app\/Contents\/MacOS\/Spyglass",
    "name" : "Spyglass",
    "CFBundleVersion" : "20220426.224911"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 4307746816,
    "size" : 393216,
    "uuid" : "fbb89662-e6f2-3434-b542-f75185ac5e74",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6941892608,
    "size" : 290816,
    "uuid" : "dc048e3b-e023-3d17-afe5-4ff3dc625608",
    "path" : "\/usr\/lib\/system\/libdispatch.dylib",
    "name" : "libdispatch.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7454191616,
    "CFBundleShortVersionString" : "17613",
    "CFBundleIdentifier" : "com.apple.WebKit",
    "size" : 10485760,
    "uuid" : "a0d4672c-7977-38c5-a8ee-d270e4396b19",
    "path" : "\/System\/Library\/Frameworks\/WebKit.framework\/Versions\/A\/WebKit",
    "name" : "WebKit",
    "CFBundleVersion" : "17613.1.17.1.13"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6942982144,
    "size" : 421888,
    "uuid" : "06bc1ec0-9992-398e-a85b-2973eb1fdba2",
    "path" : "\/usr\/lib\/libc++.1.dylib",
    "name" : "libc++.1.dylib"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7351332864,
    "CFBundleShortVersionString" : "17613",
    "CFBundleIdentifier" : "com.apple.JavaScriptCore",
    "size" : 20316160,
    "uuid" : "51b72434-3e48-3716-9e20-65d600d8f376",
    "path" : "\/System\/Library\/Frameworks\/JavaScriptCore.framework\/Versions\/A\/JavaScriptCore",
    "name" : "JavaScriptCore",
    "CFBundleVersion" : "17613.1.17.1.13"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 7060324352,
    "CFBundleShortVersionString" : "1.11",
    "CFBundleIdentifier" : "com.apple.QuartzCore",
    "size" : 3317760,
    "uuid" : "b3f9d8bc-5d97-3a56-8797-fd3e8847a5b0",
    "path" : "\/System\/Library\/Frameworks\/QuartzCore.framework\/Versions\/A\/QuartzCore",
    "name" : "QuartzCore",
    "CFBundleVersion" : "964.19.5"
  }
],
  "sharedCache" : {
  "base" : 6940442624,
  "size" : 3136438272,
  "uuid" : "1df3dfc1-141a-35d0-a4e5-f1e113894c6e"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=1.0G resident=0K(0%) swapped_out_or_unallocated=1.0G(100%)\nWritable regions: Total=1.8G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.8G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nActivity Tracing                   256K        1 \nColorSync                          528K       23 \nCoreGraphics                        32K        2 \nFoundation                          16K        1 \nJS JIT generated code            512.0M        3 \nKernel Alloc Once                   32K        1 \nMALLOC                           255.3M       43 \nMALLOC guard page                  192K        9 \nMALLOC_MEDIUM (reserved)         480.0M        4         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                        304K       19 \nStack                             35.1M       20 \nStack Guard                       56.0M        1 \nVM_ALLOCATE                        448K       19 \nVM_ALLOCATE (reserved)            1536K       12         reserved VM address space (unallocated)\nWebKit Malloc                    192.0M        4 \n__AUTH                            2509K      289 \n__AUTH_CONST                      19.5M      474 \n__DATA                            14.8M      467 \n__DATA_CONST                      17.7M      482 \n__DATA_DIRTY                      1740K      207 \n__FONT_DATA                          4K        1 \n__GLSLBUILTINS                    5176K        1 \n__LINKEDIT                       586.9M        6 \n__OBJC_CONST                      3384K      262 \n__OBJC_RO                         82.9M        1 \n__OBJC_RW                         3152K        1 \n__TEXT                           488.0M      499 \n__UNICODE                          592K        1 \ndyld private memory               1024K        1 \nmapped file                       75.6M       17 \nshared memory                      848K       13 \n===========                     =======  ======= \nTOTAL                              3.1G     2885 \nTOTAL, minus reserved VM space     2.3G     2885 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "queue" : "com.apple.main-thread"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
      "factorPackIds" : {

      },
      "deploymentId" : 240000015
    },
    {
      "rolloutId" : "6112e14f37f5d11121dcd519",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "625de77818a7dd465be99423"
      },
      "deploymentId" : 240000109
    }
  ],
  "experiments" : [

  ]
}
}

I increased the limits to

  • domain_crawl_limit: 100,000
  • inflight_domain_limit: 100
  • inflight_crawl_limit: 300

Obviously these are slightly ridiculous numbers, I was mostly just messing around :). The problem is that even if I revert the changes, the startup crash persists.

Detect network changes & pause crawler

Turning off WiFi, network outages, etc. should be detected and the crawler automatically paused. Should also have a background take to check if network access is available again and restart the crawler.

Global shortcut flaky on Linux

  • Global shortcut sometimes doesn't work on Linux.
  • When it does work, search input is not focused.
  • Closing the app sometimes stalls (potentially an IPC issue?).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.