<commit_before>import React from 'react';
import ReactDOM from 'react-dom';
import lbry from './lbry.js';
import lbryio from './lbryio.js';
import lighthouse from './lighthouse.js';
import App from 'component/app/index.js';
import SplashScreen from 'component/splash.js';
import SnackBar from 'component/snackBar';
import {AuthOverlay} from 'component/auth.js';
import { Provider } from 'react-redux';
import batchActions from 'util/batchActions'
import store from 'store.js';
import {
  doChangePath,
  doNavigate,
  doDaemonReady,
  doHistoryPush
} from 'actions/app'
import {
  doFetchDaemonSettings
} from 'actions/settings'
import {
  doFileList
} from 'actions/file_info'
import {
  toQueryString,
} from 'util/query_params'

const {remote, ipcRenderer, shell} = require('electron');
const contextMenu = remote.require('./menu/context-menu');
const app = require('./app')

lbry.showMenuIfNeeded();

window.addEventListener('contextmenu', (event) => {
  contextMenu.showContextMenu(remote.getCurrentWindow(), event.x, event.y,
                              lbry.getClientSetting('showDeveloperMenu'));
  event.preventDefault();
});

window.addEventListener('popstate', (event, param) => {
  const params = event.state
  const pathParts = document.location.pathname.split('/')
  const route = '/' + pathParts[pathParts.length - 1]
  const queryString = toQueryString(params)

  let action
  if (route.match(/html$/)) {
    action = doChangePath('/discover')
  } else {
    action = doChangePath(`${route}?${queryString}`)
  }

  app.store.dispatch(action)
})

ipcRenderer.on('open-uri-requested', (event, uri) => {
  console.log(event)
  console.log(uri)
  if (uri && uri.startsWith('lbry://')) {
    console.log(uri)
    doNavigate('/show', { uri })
  }
});

document.addEventListener('click', (event) => {
  var target = event.target;
  while (target && target !== document) {
    if (target.matches('a[href^="http"]')) {
      event.preventDefault();
      shell.openExternal(target.href);
      return;
    }
    target = target.parentNode;
  }
});

const initialState = app.store.getState();

var init = function() {

  function onDaemonReady() {
    window.sessionStorage.setItem('loaded', 'y'); //once we've made it here once per session, we don't need to show splash again<commit_msg>fix uri handling?<commit_after>import React from 'react';
import ReactDOM from 'react-dom';
import lbry from './lbry.js';
import lbryio from './lbryio.js';
import lighthouse from './lighthouse.js';
import App from 'component/app/index.js';
import SplashScreen from 'component/splash.js';
import SnackBar from 'component/snackBar';
import {AuthOverlay} from 'component/auth.js';
import { Provider } from 'react-redux';
import batchActions from 'util/batchActions'
import store from 'store.js';
import {
  doChangePath,
  doNavigate,
  doDaemonReady,
  doHistoryPush
} from 'actions/app'
import {
  doFetchDaemonSettings
} from 'actions/settings'
import {
  doFileList
} from 'actions/file_info'
import {
  toQueryString,
} from 'util/query_params'

const {remote, ipcRenderer, shell} = require('electron');
const contextMenu = remote.require('./menu/context-menu');
const app = require('./app')

lbry.showMenuIfNeeded();

window.addEventListener('contextmenu', (event) => {
  contextMenu.showContextMenu(remote.getCurrentWindow(), event.x, event.y,
                              lbry.getClientSetting('showDeveloperMenu'));
  event.preventDefault();
});

window.addEventListener('popstate', (event, param) => {
  const params = event.state
  const pathParts = document.location.pathname.split('/')
  const route = '/' + pathParts[pathParts.length - 1]
  const queryString = toQueryString(params)

  let action
  if (route.match(/html$/)) {
    action = doChangePath('/discover')
  } else {
    action = doChangePath(`${route}?${queryString}`)
  }

  app.store.dispatch(action)
})

ipcRenderer.on('open-uri-requested', (event, uri) => {
  if (uri && uri.startsWith('lbry://')) {
    app.store.dispatch(doNavigate('/show', { uri }))
  }
});

document.addEventListener('click', (event) => {
  var target = event.target;
  while (target && target !== document) {
    if (target.matches('a[href^="http"]')) {
      event.preventDefault();
      shell.openExternal(target.href);
      return;
    }
    target = target.parentNode;
  }
});

const initialState = app.store.getState();

var init = function() {

  function onDaemonReady() {
    window.sessionStorage.setItem('loaded', 'y'); //once we've made it here once per session, we don't need to show splash again
{'fraction_non_alphanumeric': 0.15323819978046102, 'fraction_numerical': 0.0004390779363336992, 'mean_word_length': 4.242807825086306, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2041596', 'n_tokens_mistral': 1431, 'n_tokens_neox': 1410, 'n_words': 326}