AgregoreWeb / agregore-browser

A minimal browser for the distributed web (Desktop version)
https://www.youtube.com/watch?v=TnYKvOQB0ts&list=PL7sG5SCUNyeYx8wnfMOUpsh7rM_g0w_cu&index=14
GNU Affero General Public License v3.0
749 stars 66 forks source link

yarn Install on OSX generates lots of errors and fails #113

Closed mitra42 closed 3 years ago

mitra42 commented 3 years ago

I'll put the full output of the install as a comment, but in summary

No problem if you want these as separate issues, but I'm suspicious the real issue with the bad links will be a failed install, not anything particular about the link itself.

mitra42 commented 3 years ago

STR

cd ~/git # Where I put any git repos
git clone https://github.com/AgregoreWeb/agregore-browser.git # Worked fine
cd agregore-browser
git submodule update --init --recursive  # Worked fine
yarn install  # Lots of errors (see next comment)
yarn start # Opens electron
# Click on the IPFS link opens to ipns://ipfs.io
 ipns://ipfs.io failed with Error: queryTxt EBADNAME ipfs.io at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19)
mitra42 commented 3 years ago

Result of yarn install

mitra@mitragold agregore-browser % yarn install
yarn install v1.22.10
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > dat-fetch@5.1.1" has unmet peer dependency "dat-sdk@^2.0.0".
warning "ipfs-core > ipfs-repo > eslint-plugin-ava@12.0.0" has unmet peer dependency "eslint@>=7.22.0".
[4/4] 🔨  Building fresh packages...
[10/17] ⠄ better-sqlite3
[16/17] ⠄ core-js
[8/17] ⠄ utp-native
[14/17] ⠄ ursa-optional
warning Error running install script for optional dependency: "/Users/mitra/git/agregore-browser/node_modules/sodium-universal/node_modules/sodium-native: Command failed.
Exit code: 1
Command: node-gyp-build \"node preinstall.js\" \"node postinstall.js\"
Arguments: 
Directory: /Users/mitra/git/agregore-browser/node_modules/sodium-universal/node_modules/sodium-native
Output:
libtool is required, but wasn't found on this system
./configure: line 5: ./configure: No such file or directory
/Users/mitra/git/agregore-browser/node_modules/sodium-universal/node_modules/sodium-native/preinstall.js:119
    if (err) throw err
             ^

Error: ./configure exited with 127
[10/17] ⠂ better-sqlite3
[17/17] ⠂ electron
[8/17] ⠂ utp-native
[-/17] ⠂ waiting...
warning Error running install script for optional dependency: "/Users/mitra/git/agregore-browser/node_modules/discovery-swarm/node_modules/utp-native: Command failed.
Exit code: 1
Command: node-gyp-build
Arguments: 
Directory: /Users/mitra/git/agregore-browser/node_modules/discovery-swarm/node_modules/utp-native
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@5.1.0
gyp info using node@14.17.2 | darwin | x64
gyp info find Python using Python version 2.7.16 found at \"/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python\"
gyp http GET https://nodejs.org/download/release/v14.17.2/node-v14.17.2-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v14.17.2/node-v14.17.2-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v14.17.2/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v14.17.2/SHASUMS256.txt
gyp info spawn /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/mitra/git/agregore-browser/node_modules/discovery-swarm/node_modules/utp-native/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/mitra/Library/Caches/node-gyp/14.17.2',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/mitra/Library/Caches/node-gyp/14.17.2/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/mitra/git/agregore-browser/node_modules/discovery-swarm/node_modules/utp-native',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_internal.o
../deps/libutp/utp_internal.cpp:1970:34: warning: comparison of integers of different signs: 'int' and 'uint32' (aka 'unsigned int') [-Wsign-compare]
                if (conn->mtu_probe_seq && seq == conn->mtu_probe_seq) {
                                           ~~~ ^  ~~~~~~~~~~~~~~~~~~~
../deps/libutp/utp_internal.cpp:156:19: warning: unused variable 'flagnames' [-Wunused-const-variable]
static const cstr flagnames[] = {
                  ^
../deps/libutp/utp_internal.cpp:174:19: warning: unused variable 'statenames' [-Wunused-const-variable]
static const cstr statenames[] = {
                  ^
3 warnings generated.
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_utils.o
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_hash.o
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_callbacks.o
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_api.o
  CXX(target) Release/obj.target/libutp/deps/libutp/utp_packedsockaddr.o
  LIBTOOL-STATIC Release/utp.a
  CXX(target) Release/obj.target/utp/src/utp_uv.o
../src/utp_uv.cc:219:1: warning: unused function 'on_utp_schedule_ack' [-Wunused-function]
on_utp_schedule_ack (utp_callback_arguments *a) {
^
1 warning generated.
  CXX(target) Release/obj.target/utp/src/socket_wrap.o
../src/socket_wrap.cc:69:23: warning: 'Call' is deprecated [-Wdeprecated-declarations]
      this->on_drain->Call(ctx, 0, NULL);
                      ^
../../../../nan/nan.h:1721:3: note: 'Call' has been explicitly marked deprecated here
  NAN_DEPRECATED inline v8::Local<v8::Value>
  ^
../../../../nan/nan.h:108:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
                                       ^
../src/socket_wrap.cc:99:45: error: too few arguments to function call, single argument 'context' was not specified
  Local<Object> context = info[0]->ToObject();
                          ~~~~~~~~~~~~~~~~~ ^
/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/v8.h:2822:44: note: 'ToObject' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                           ^
../src/socket_wrap.cc:113:43: error: too few arguments to function call, single argument 'context' was not specified
  Local<Value> buffer = info[0]->ToObject();
                        ~~~~~~~~~~~~~~~~~ ^
/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/v8.h:2822:44: note: 'ToObject' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                           ^
../src/socket_wrap.cc:141:44: error: no matching member function for call to 'Get'
    Local<Value> buffer = Nan::Get(writes->Get(i)->ToObject(), chunk).ToLocalChecked();
                                   ~~~~~~~~^~~
/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/v8.h:3717:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/v8.h:3720:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/socket_wrap.cc:243:62: error: too few arguments to function call, single argument 'context' was not specified
  instance = Nan::NewInstance(constructorHandle->GetFunction()).ToLocalChecked();
                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
/Users/mitra/Library/Caches/node-gyp/14.17.2/include/node/v8.h:6482:46: note: 'GetFunction' declared here
  V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                             ^
1 warning and 4 errors generated.
make: *** [Release/obj.target/utp/src/socket_wrap.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:375:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Darwin 20.5.0
gyp ERR! command \"/usr/local/bin/node\" \"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd /Users/mitra/git/agregore-browser/node_modules/discovery-swarm/node_modules/utp-native
$ ./rebuild.sh
npm WARN lifecycle The node binary used for scripts is /var/folders/h7/r6nsnp591vq9t17_q33mks_c0000gn/T/yarn--1629940519119-0.26729224864148393/node but npm is using /usr/local/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> better-sqlite3@7.4.3 install /Users/mitra/git/agregore-browser/node_modules/better-sqlite3
> prebuild-install || npm run build-release

npm WARN lifecycle The node binary used for scripts is /var/folders/h7/r6nsnp591vq9t17_q33mks_c0000gn/T/yarn--1629940519119-0.26729224864148393/node but npm is using /usr/local/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> better-sqlite3@7.4.3 build-release /Users/mitra/git/agregore-browser/node_modules/better-sqlite3
> node-gyp rebuild --release

  TOUCH b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
  ACTION deps_sqlite3_gyp_locate_sqlite3_target_extract_sqlite3 b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
  TOUCH Release/obj.target/deps/locate_sqlite3.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite3/sqlite3.o
  LIBTOOL-STATIC Release/sqlite3.a
  CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
  SOLINK_MODULE(target) Release/better_sqlite3.node
  CC(target) Release/obj.target/test_extension/deps/test_extension.o
  SOLINK_MODULE(target) Release/test_extension.node
rm b857c92884e9598d609f6be182a2595df7a8e00f.intermediate
better-sqlite3@7.4.3 /Users/mitra/git/agregore-browser/node_modules/better-sqlite3
✨  Done in 144.37s.
mitra42 commented 3 years ago

Result of yarn start -

mitra@mitragold agregore-browser % yarn start
yarn run v1.22.10
$ electron .
(node:22406) ProtocolDeprecateCallback: The callback argument of protocol module APIs is no longer needed.
(node:22406) ProtocolDeprecateCallback: The callback argument of protocol module APIs is no longer needed.
Loading extensions [
  'agregore-adblock',
  'agregore-history',
  'extension-agregore-render-gemini',
  'extension-agregore-render-markdown'
]
Loaded extension {
  manifest: {
    manifest_version: 2,
    name: 'agregore-adblock',
    version: '1.0',
    description: "Agregore's ad blocking extension",
    permissions: [ 'webRequest', 'webRequestBlocking', '<all_urls>' ],
    background: { scripts: [Array] },
    srcDirectory: '/Users/mitra/git/agregore-browser/app/extensions/agregore-adblock',
    extensionId: 'agregore-adblock'
  },
  alarms: [],
  locale: undefined,
  id: 'agregore-adblock',
  path: '/Users/mitra/git/agregore-browser/app/extensions/agregore-adblock',
  popupPage: null,
  backgroundPage: {
    html: <Buffer 3c 68 74 6d 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 62 6f 64 79 3e 3c 73 63 72 69 70 74 20 73 72 63 3d 22 75 72 6c 73 2e 6a 73 22 3e 3c 2f 73 63 72 ... 72 more bytes>,
    fileName: 'generated.html',
    webContents: EventEmitter {
      isDestroyed: [Function: isDestroyed],
      destroy: [Function: destroy],
      getBackgroundThrottling: [Function: getBackgroundThrottling],
      setBackgroundThrottling: [Function: setBackgroundThrottling],
      getProcessId: [Function: getProcessId],
      getOSProcessId: [Function: getOSProcessId],
      _getOSProcessIdForFrame: [Function: _getOSProcessIdForFrame],
      equal: [Function: equal],
      _loadURL: [Function: _loadURL],
      downloadURL: [Function: downloadURL],
      _getURL: [Function: _getURL],
      getTitle: [Function: getTitle],
      isLoading: [Function: isLoading],
      isLoadingMainFrame: [Function: isLoadingMainFrame],
      isWaitingForResponse: [Function: isWaitingForResponse],
      _stop: [Function: _stop],
      _goBack: [Function: _goBack],
      _goForward: [Function: _goForward],
      _goToOffset: [Function: _goToOffset],
      isCrashed: [Function: isCrashed],
      forcefullyCrashRenderer: [Function: forcefullyCrashRenderer],
      setUserAgent: [Function: setUserAgent],
      getUserAgent: [Function: getUserAgent],
      savePage: [Function: savePage],
      openDevTools: [Function: openDevTools],
      closeDevTools: [Function: closeDevTools],
      isDevToolsOpened: [Function: isDevToolsOpened],
      isDevToolsFocused: [Function: isDevToolsFocused],
      enableDeviceEmulation: [Function: enableDeviceEmulation],
      disableDeviceEmulation: [Function: disableDeviceEmulation],
      toggleDevTools: [Function: toggleDevTools],
      inspectElement: [Function: inspectElement],
      setIgnoreMenuShortcuts: [Function: setIgnoreMenuShortcuts],
      setAudioMuted: [Function: setAudioMuted],
      isAudioMuted: [Function: isAudioMuted],
      isCurrentlyAudible: [Function: isCurrentlyAudible],
      undo: [Function: undo],
      redo: [Function: redo],
      cut: [Function: cut],
      copy: [Function: copy],
      paste: [Function: paste],
      pasteAndMatchStyle: [Function: pasteAndMatchStyle],
      delete: [Function: delete],
      selectAll: [Function: selectAll],
      unselect: [Function: unselect],
      replace: [Function: replace],
      replaceMisspelling: [Function: replaceMisspelling],
      findInPage: [Function: findInPage],
      stopFindInPage: [Function: stopFindInPage],
      focus: [Function: focus],
      isFocused: [Function: isFocused],
      tabTraverse: [Function: tabTraverse],
      _send: [Function: _send],
      _postMessage: [Function: _postMessage],
      _sendToFrame: [Function: _sendToFrame],
      sendInputEvent: [Function: sendInputEvent],
      beginFrameSubscription: [Function: beginFrameSubscription],
      endFrameSubscription: [Function: endFrameSubscription],
      startDrag: [Function: startDrag],
      attachToIframe: [Function: attachToIframe],
      detachFromOuterFrame: [Function: detachFromOuterFrame],
      isOffscreen: [Function: isOffscreen],
      startPainting: [Function: startPainting],
      stopPainting: [Function: stopPainting],
      isPainting: [Function: isPainting],
      setFrameRate: [Function: setFrameRate],
      getFrameRate: [Function: getFrameRate],
      invalidate: [Function: invalidate],
      setZoomLevel: [Function: setZoomLevel],
      getZoomLevel: [Function: getZoomLevel],
      setZoomFactor: [Function: setZoomFactor],
      getZoomFactor: [Function: getZoomFactor],
      getType: [Function: getType],
      _getPreloadPaths: [Function: _getPreloadPaths],
      getWebPreferences: [Function: getWebPreferences],
      getLastWebPreferences: [Function: getLastWebPreferences],
      getOwnerBrowserWindow: [Function: getOwnerBrowserWindow],
      inspectServiceWorker: [Function: inspectServiceWorker],
      inspectSharedWorker: [Function: inspectSharedWorker],
      inspectSharedWorkerById: [Function: inspectSharedWorkerById],
      getAllSharedWorkers: [Function: getAllSharedWorkers],
      _print: [Function: _print],
      _getPrinters: [Function: _getPrinters],
      _printToPDF: [Function: _printToPDF],
      addWorkSpace: [Function: addWorkSpace],
      removeWorkSpace: [Function: removeWorkSpace],
      showDefinitionForSelection: [Function: showDefinitionForSelection],
      copyImageAt: [Function: copyImageAt],
      capturePage: [Function: capturePage],
      setEmbedder: [Function: setEmbedder],
      setDevToolsWebContents: [Function: setDevToolsWebContents],
      getNativeView: [Function: getNativeView],
      incrementCapturerCount: [Function: incrementCapturerCount],
      decrementCapturerCount: [Function: decrementCapturerCount],
      isBeingCaptured: [Function: isBeingCaptured],
      setWebRTCIPHandlingPolicy: [Function: setWebRTCIPHandlingPolicy],
      getWebRTCIPHandlingPolicy: [Function: getWebRTCIPHandlingPolicy],
      _grantOriginAccess: [Function: _grantOriginAccess],
      takeHeapSnapshot: [Function: takeHeapSnapshot],
      id: 1,
      session: [Getter],
      hostWebContents: [Getter],
      devToolsWebContents: [Getter],
      debugger: [Getter],
      _initiallyShown: [Getter],
      _events: [Object: null prototype],
      _eventsCount: 17,
      loadURL: [Function: bound loadURL],
      getURL: [Function: bound getURL],
      stop: [Function: bound stop],
      reload: [Function: bound reload],
      reloadIgnoringCache: [Function: bound reloadIgnoringCache],
      canGoBack: [Function: bound canGoBack],
      canGoForward: [Function: bound canGoForward],
      canGoToIndex: [Function: bound canGoToIndex],
      canGoToOffset: [Function: bound canGoToOffset],
      clearHistory: [Function: bound clearHistory],
      goBack: [Function: bound goBack],
      goForward: [Function: bound goForward],
      goToIndex: [Function: bound goToIndex],
      goToOffset: [Function: bound goToOffset],
      getActiveIndex: [Function: bound getActiveIndex],
      length: [Function: bound length],
      _maxListeners: 0
    }
  }
}
(node:22406) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
Loaded extension {
  manifest: {
    manifest_version: 2,
    name: 'agregore-history',
    version: '1.0',
    description: 'The history tracking functionality for the Agregore Browser',
    background: { page: 'background.html' },
    srcDirectory: '/Users/mitra/git/agregore-browser/app/extensions/agregore-history',
    extensionId: 'agregore-history'
  },
  alarms: [],
  locale: undefined,
  id: 'agregore-history',
  path: '/Users/mitra/git/agregore-browser/app/extensions/agregore-history',
  popupPage: null,
  backgroundPage: {
    html: <Buffer 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 2d 38 22 3e 0a 3c 74 69 74 6c 65 3e 41 67 72 65 ... 90 more bytes>,
    fileName: 'background.html',
    webContents: EventEmitter {
      isDestroyed: [Function: isDestroyed],
      destroy: [Function: destroy],
      getBackgroundThrottling: [Function: getBackgroundThrottling],
      setBackgroundThrottling: [Function: setBackgroundThrottling],
      getProcessId: [Function: getProcessId],
      getOSProcessId: [Function: getOSProcessId],
      _getOSProcessIdForFrame: [Function: _getOSProcessIdForFrame],
      equal: [Function: equal],
      _loadURL: [Function: _loadURL],
      downloadURL: [Function: downloadURL],
      _getURL: [Function: _getURL],
      getTitle: [Function: getTitle],
      isLoading: [Function: isLoading],
      isLoadingMainFrame: [Function: isLoadingMainFrame],
      isWaitingForResponse: [Function: isWaitingForResponse],
      _stop: [Function: _stop],
      _goBack: [Function: _goBack],
      _goForward: [Function: _goForward],
      _goToOffset: [Function: _goToOffset],
      isCrashed: [Function: isCrashed],
      forcefullyCrashRenderer: [Function: forcefullyCrashRenderer],
      setUserAgent: [Function: setUserAgent],
      getUserAgent: [Function: getUserAgent],
      savePage: [Function: savePage],
      openDevTools: [Function: openDevTools],
      closeDevTools: [Function: closeDevTools],
      isDevToolsOpened: [Function: isDevToolsOpened],
      isDevToolsFocused: [Function: isDevToolsFocused],
      enableDeviceEmulation: [Function: enableDeviceEmulation],
      disableDeviceEmulation: [Function: disableDeviceEmulation],
      toggleDevTools: [Function: toggleDevTools],
      inspectElement: [Function: inspectElement],
      setIgnoreMenuShortcuts: [Function: setIgnoreMenuShortcuts],
      setAudioMuted: [Function: setAudioMuted],
      isAudioMuted: [Function: isAudioMuted],
      isCurrentlyAudible: [Function: isCurrentlyAudible],
      undo: [Function: undo],
      redo: [Function: redo],
      cut: [Function: cut],
      copy: [Function: copy],
      paste: [Function: paste],
      pasteAndMatchStyle: [Function: pasteAndMatchStyle],
      delete: [Function: delete],
      selectAll: [Function: selectAll],
      unselect: [Function: unselect],
      replace: [Function: replace],
      replaceMisspelling: [Function: replaceMisspelling],
      findInPage: [Function: findInPage],
      stopFindInPage: [Function: stopFindInPage],
      focus: [Function: focus],
      isFocused: [Function: isFocused],
      tabTraverse: [Function: tabTraverse],
      _send: [Function: _send],
      _postMessage: [Function: _postMessage],
      _sendToFrame: [Function: _sendToFrame],
      sendInputEvent: [Function: sendInputEvent],
      beginFrameSubscription: [Function: beginFrameSubscription],
      endFrameSubscription: [Function: endFrameSubscription],
      startDrag: [Function: startDrag],
      attachToIframe: [Function: attachToIframe],
      detachFromOuterFrame: [Function: detachFromOuterFrame],
      isOffscreen: [Function: isOffscreen],
      startPainting: [Function: startPainting],
      stopPainting: [Function: stopPainting],
      isPainting: [Function: isPainting],
      setFrameRate: [Function: setFrameRate],
      getFrameRate: [Function: getFrameRate],
      invalidate: [Function: invalidate],
      setZoomLevel: [Function: setZoomLevel],
      getZoomLevel: [Function: getZoomLevel],
      setZoomFactor: [Function: setZoomFactor],
      getZoomFactor: [Function: getZoomFactor],
      getType: [Function: getType],
      _getPreloadPaths: [Function: _getPreloadPaths],
      getWebPreferences: [Function: getWebPreferences],
      getLastWebPreferences: [Function: getLastWebPreferences],
      getOwnerBrowserWindow: [Function: getOwnerBrowserWindow],
      inspectServiceWorker: [Function: inspectServiceWorker],
      inspectSharedWorker: [Function: inspectSharedWorker],
      inspectSharedWorkerById: [Function: inspectSharedWorkerById],
      getAllSharedWorkers: [Function: getAllSharedWorkers],
      _print: [Function: _print],
      _getPrinters: [Function: _getPrinters],
      _printToPDF: [Function: _printToPDF],
      addWorkSpace: [Function: addWorkSpace],
      removeWorkSpace: [Function: removeWorkSpace],
      showDefinitionForSelection: [Function: showDefinitionForSelection],
      copyImageAt: [Function: copyImageAt],
      capturePage: [Function: capturePage],
      setEmbedder: [Function: setEmbedder],
      setDevToolsWebContents: [Function: setDevToolsWebContents],
      getNativeView: [Function: getNativeView],
      incrementCapturerCount: [Function: incrementCapturerCount],
      decrementCapturerCount: [Function: decrementCapturerCount],
      isBeingCaptured: [Function: isBeingCaptured],
      setWebRTCIPHandlingPolicy: [Function: setWebRTCIPHandlingPolicy],
      getWebRTCIPHandlingPolicy: [Function: getWebRTCIPHandlingPolicy],
      _grantOriginAccess: [Function: _grantOriginAccess],
      takeHeapSnapshot: [Function: takeHeapSnapshot],
      id: 2,
      session: [Getter],
      hostWebContents: [Getter],
      devToolsWebContents: [Getter],
      debugger: [Getter],
      _initiallyShown: [Getter],
      _events: [Object: null prototype],
      _eventsCount: 17,
      loadURL: [Function: bound loadURL],
      getURL: [Function: bound getURL],
      stop: [Function: bound stop],
      reload: [Function: bound reload],
      reloadIgnoringCache: [Function: bound reloadIgnoringCache],
      canGoBack: [Function: bound canGoBack],
      canGoForward: [Function: bound canGoForward],
      canGoToIndex: [Function: bound canGoToIndex],
      canGoToOffset: [Function: bound canGoToOffset],
      clearHistory: [Function: bound clearHistory],
      goBack: [Function: bound goBack],
      goForward: [Function: bound goForward],
      goToIndex: [Function: bound goToIndex],
      goToOffset: [Function: bound goToOffset],
      getActiveIndex: [Function: bound getActiveIndex],
      length: [Function: bound length],
      _maxListeners: 0
    }
  }
}
(node:22406) electron: The default of contextIsolation is deprecated and will be changing from false to true in a future release of Electron.  See https://github.com/electron/electron/issues/23506 for more information
Loaded extension {
  manifest: {
    manifest_version: 1,
    name: 'agregore-gemini-render',
    version: '1.0',
    description: 'The gemini rendering functionality for the Agregore Browser',
    permissions: [ 'activeTab' ],
    content_scripts: [ [Object] ],
    srcDirectory: '/Users/mitra/git/agregore-browser/app/extensions/extension-agregore-render-gemini',
    extensionId: 'extension-agregore-render-gemini'
  },
  alarms: [],
  locale: undefined,
  id: 'extension-agregore-render-gemini',
  path: '/Users/mitra/git/agregore-browser/app/extensions/extension-agregore-render-gemini',
  popupPage: null,
  contentScripts: [
    { matches: [Array], js: [Array], css: [], runAt: 'document_idle' }
  ],
  backgroundPage: null
}
Loaded extension {
  manifest: {
    manifest_version: 1,
    name: 'agregore-md-render',
    version: '1.0',
    description: 'The markdown rendering functionality for the Agregore Browser',
    permissions: [ 'activeTab' ],
    content_scripts: [ [Object] ],
    srcDirectory: '/Users/mitra/git/agregore-browser/app/extensions/extension-agregore-render-markdown',
    extensionId: 'extension-agregore-render-markdown'
  },
  alarms: [],
  locale: undefined,
  id: 'extension-agregore-render-markdown',
  path: '/Users/mitra/git/agregore-browser/app/extensions/extension-agregore-render-markdown',
  popupPage: null,
  contentScripts: [
    { matches: [Array], js: [Array], css: [], runAt: 'document_idle' }
  ],
  backgroundPage: null
}
Error loading saved windows Error: ENOENT: no such file or directory, open '/Users/mitra/Library/Application Support/agregore-browser-dev/lastOpened.json'
created window 3
<- 3 listExtensionActions ( [] )
<- 3 setBounds ( [ { x: 0, y: 37, width: 800, height: 535 } ] )
<- 3 loadURL ( [ 'agregore://welcome' ] )
Navigating agregore://welcome
-> 3 navigating ( [ 'agregore://welcome' ] )
-> 3 history-buttons-change ( [ { canGoBack: false, canGoForward: false } ] )
<- 3 setBounds ( [ { x: 0, y: 37, width: 800, height: 535 } ] )
Navigating agregore://welcome
-> 3 navigating ( [ 'agregore://welcome' ] )
-> 3 history-buttons-change ( [ { canGoBack: false, canGoForward: false } ] )
-> 3 page-title-updated ( [ 'Agregore Browser - Welcome' ] )
Navigating ipns://ipfs.io/
-> 3 navigating ( [ 'ipns://ipfs.io/' ] )
-> 3 history-buttons-change ( [ { canGoBack: false, canGoForward: false } ] )
Error: queryTxt EBADNAME ipfs.io
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19)
Navigating ipns://ipfs.io/
-> 3 navigating ( [ 'ipns://ipfs.io/' ] )
-> 3 history-buttons-change ( [ { canGoBack: true, canGoForward: false } ] )
2021-08-26 11:20:03.139 Electron Helper (Renderer)[22550:8580305] CoreText note: Client requested name ".HiraKakuInterface-W4", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
2021-08-26 11:20:03.139 Electron Helper (Renderer)[22550:8580305] CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.
<- 3 setBounds ( [ { x: 0, y: 39, width: 800, height: 533 } ] )
Error: queryTxt EBADNAME ipfs.io
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19)
Error: queryTxt EBADNAME ipfs.io
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19)
mitra42 commented 3 years ago

I'll leave poking around and trying to get it working, just in case someone wants to help debug the install process (or instructions) itself.

mitra42 commented 3 years ago

Clicking on Hypercore failed Tried to go to : hyper://a8109b835d27c30ad4d55b321dd7c4032c037eaf1f6f2b00de7b03b5a6cc504a/ Browser showed

Error: No update available from peers at /Users/mitra/git/agregore-browser/node_modules/hypercore/index.js:366:12 at Nanoguard._ready (/Users/mitra/git/agregore-browser/node_modules/nanoguard/index.js:57:29) at Nanoguard.continueSync (/Users/mitra/git/agregore-browser/node_modules/nanoguard/index.js:40:57) at continueNT (/Users/mitra/git/agregore-browser/node_modules/nanoguard/index.js:63:9) at processTicksAndRejections (internal/process/task_queues.js:83:21)

Terminal showed

Navigating hyper://a8109b835d27c30ad4d55b321dd7c4032c037eaf1f6f2b00de7b03b5a6cc504a/
-> 3 navigating ( [
  'hyper://a8109b835d27c30ad4d55b321dd7c4032c037eaf1f6f2b00de7b03b5a6cc504a/'
] )
-> 3 history-buttons-change ( [ { canGoBack: true, canGoForward: false } ] )
2021-08-26 11:32:21.310 Electron Helper (Renderer)[22550:8580305] CoreText note: Client requested name ".HiraKakuInterface-W4", it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].
<- 3 setBounds ( [ { x: 0, y: 39, width: 800, height: 533 } ] )
mitra42 commented 3 years ago

Clicking on Dat failed: Window didn't even navigate, no error, Terminal showed:

Navigating dat://dat.foundation/
-> 3 navigating ( [ 'dat://dat.foundation/' ] )
-> 3 history-buttons-change ( [ { canGoBack: false, canGoForward: true } ] )
RangerMauve commented 3 years ago

Thanks for opening this. I finally have some time to look into it in detail.

The tl;dr is that I don't think the issues you were seeing were a result of the failed install.

Regarding the build errors, they are happening in the utp-native dependency in the dat protocol handlers and shouldn't affect most things. This is an optional dependency and didn't error out the rest of the install steps. The NPM start logs don't have anything suspicious in them either.

Regarding ipns://ipfs.io not loading, this may either be related to the IPFS outage that happened last month, or might be related to IPNS not being very stable in js-ipfs at the moment. Usually I like to load ipfs-desktop on the same machine so that it may be used instead of js-ipfs to speed up loading. I just tested it out and it seems to be working again. Could be worth it to try ipfs-desktop and see if it works there.

Regarding dat.foundation not working, sadly this seems to be a result of some core Dat infrastructure going down as a result of the project no longer being actively maintained. I've removed dat protocol handlers for now.

Speaking of the hyper thing not working. It seems that that URL is no longer being seeded by the core protocol team. 😅 They've since started using a server based website for the protocol. I've added the URL to my personal seeding server so it should be online, but I've also changed the link to point at their HTTP website in the meantime. hyper://blog.mauve.moe should work since I've got it well seeded.

I've released the latest version of Agregore which has changes that address some of this stuff which might be useful to test with in the future. https://github.com/AgregoreWeb/agregore-browser/releases/tag/v1.0.0-38

I've also added an arm64 build for Mac which might be worth testing out if you don't want to compile from source. Though there might be an issue with one of the dependencies not loading for hyper:// URLs at the moment.

I'm going to close this issue for now since I don't think there's anything else actionable, but feel free to comment and reopen if there's more we should address.

Thanks again for your patience and for posting all this stuff you found. It really helps!

mitra42 commented 3 years ago

I ran: git pull; yarn install; yarn upgrade; which should get me up to the latest version but IPFS still doesn't function - same error. Error: queryTxt EBADNAME ipfs.io at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) I don't have ipfs-desktop running on this machine.

I can confirm that hypercore worked and dat is removed.

I tried the Mac (ARM) app, no joy, I posted a separate issue for it. #118