Заменить часть URL в адресной строке браузера Beaker

Всем привет. У меня небольшое творческое задание, а так как я почти не знаком с js, то возникли затруднения. Есть, в общем, вот такой браузер https://github.com/beakerbrowser/beaker При его сборке и запуске он вызывается с дефолтной строкой beaker://start Так же если потыкать справа в настройки, закладки и библиотеку, то адрес будет меняться соответственно на beaker://library, beaker://bookmarks, beaker://settings ну и так далее.

Моя задача в следующем: мне нужно заменить все выводимые beaker:// на что-то другое, пусть это будет например bkr://

Что я попытался сделать:

1) Тупой брутфорс - в файле app/background-process/protocols/beaker.js заменил все beaker: на bkr:, потом заменил во всем проекте через find and replace в своем эдиторе кода. Как ни странно, проект собрался, но не заработал, грузился главный экран с 404, без адресной строки и меню настроек. Хотя я менял только эту строку.

2) Поскольку этот браузер работает на электроне, я решил сделать так, чтобы урл просто при выводе автоматически пересобирался с нужной мне строкой. Но тут стал вопрос, где конкретно и что менять. Меня больше всего привлек вот этот метод в файле app/shell-window/ui/navbar.js

function onKeydownLocation (e) {
  // on enter
  if (e.keyCode == KEYCODE_ENTER) {
    e.preventDefault()
    let page = getEventPage(e)
    if (page) {
      let selection = getAutocompleteSelection()
      page.loadURL(selection.url, { isGuessingTheScheme: selection.isGuessingTheScheme })
      e.target.blur()
    }
    return
}

Здесь по идее как раз собирается урл, я думал сделть что-то вроде

if (select.url.startsWith('beaker')) {
  select.url = select.url.replace('beaker:', 'bkr:')
}

но не взлетело, ничего не произошло, как была везде старая строка, так и осталась. Посему вопрос к знающей аудитории: как это можно сделать? Я понимаю, что вопрос тяжелый, т.к. у меня только сырцы стороннего проекта, но мне очень важно продемонстрировать именно на нем. По идее я прекрасно понимаю, что нужно сделать, но не очень понимаю, что конкретно, как и в каком месте изменить.

Заранее спасибо за любую помощь.


Ответы (0 шт):