Backup Search Engines
-
This modification backs up and restores your search engines, by adding a backup button and a restore input field in
vivaldi://settings/search
. Caution: Works only when you check โOpen Settings in a Tabโ invivaldi://settings/appearance/
.Meanwhile Vivaldi has added search engine sync. You might still want to use this mod, because it
- acts as a backup when you lose your sync data
- gives you the ability to migrate search engines to other sync accounts, profiles without sync
- lets you change/fix search engine favicons from the backup (be careful while editing the JSON data)
- lets you share engines with other users
- Backup: Click the Backup button. This will copy the data to your clipboard. From there paste it to your notes panel, or a dedicated file.
- Restore: Copy the backup data and paste or drag&drop it into the Restore Backup input field. This will restore your backup, but you will lose all search engines you have added since your last backup.
Create a Javascript (
.js
) file and copy/paste following code. See pinned topics on this forum board for instructions.// Backup Search Engines // version 2022.4.0 // https://forum.vivaldi.net/post/277594 // Adds functionality to backup and restore search engines in // vivaldi://settings/search. (function backupSearchEngines() { function msg(print) { clearTimeout(msgTimeout); if (print === "backup") { info.innerText = "Backup copied to clipboard"; } else if (print === "restore") { info.innerText = "Search engines restored"; } else { info.innerText = "Code error, aborted"; } msgTimeout = setTimeout(() => (info.innerText = ""), 5000); } function bringingItAllBackHome(remains, defaultsArray) { vivaldi.searchEngines.getTemplateUrls((engines) => { const getKeys = engines.templateUrls.map((e) => e.keyword); for (let i = 0; i < defaultsArray.length; i++) { const index = getKeys.lastIndexOf(defaultsArray[i][0]); const id = engines.templateUrls[index].id.toString(); const ds = defaultsArray[i][1]; vivaldi.searchEngines.setDefault(ds, id); } remains.forEach((remove) => { vivaldi.searchEngines.removeTemplateUrl(remove); }); msg("restore"); }); } function exec(collection) { vivaldi.searchEngines.getTemplateUrls((engines) => { const oldDefaults = [ engines.defaultImage, engines.defaultPrivate, engines.defaultSearch, ]; const newDefaults = [ collection.defaultImage, collection.defaultPrivate, collection.defaultSearch, collection.defaultSearchField, collection.defaultSearchFieldPrivate, collection.defaultSpeeddials, collection.defaultSpeeddialsPrivate, ]; engines.templateUrls.forEach((engine) => { if (oldDefaults.indexOf(engine.id) === -1) { vivaldi.searchEngines.removeTemplateUrl(engine.id); } }); console.info("restoring search engines..."); const defaultsArray = []; collection.templateUrls.forEach((collect) => { vivaldi.searchEngines.addTemplateUrl(collect, () => { console.info(` \u2022 ${collect.name}`); if (newDefaults.indexOf(collect.id) > -1) { const indeces = newDefaults .map((e, i) => (e === collect.id ? i : "")) .filter(String); indeces.forEach((index) => { let ds; if (index === 0) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_IMAGE; } else if (index === 1) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_PRIVATE; } else if (index === 2) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH; } else if (index === 3) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH_FIELD; } else if (index === 4) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_SEARCH_FIELD_PRIVATE; } else if (index === 5) { ds = vivaldi.searchEngines.DefaultType.DEFAULT_SPEEDDIALS; } else { ds = vivaldi.searchEngines.DefaultType.DEFAULT_SPEEDDIALS_PRIVATE; } const tunnel = [collect.keyword, ds]; defaultsArray.push(tunnel); }); } }); }); const remains = [...new Set(oldDefaults)]; bringingItAllBackHome(remains, defaultsArray); }); } function restore(e) { e.preventDefault(); e.stopPropagation(); let backupCode; let collection; if (e.type === "paste") { const clipboardData = e.clipboardData; backupCode = clipboardData.getData("text"); } else { backupCode = e.dataTransfer.getData("text"); } try { collection = JSON.parse(backupCode); } catch (err) { msg("error"); return; } if ( "defaultImage" in collection && "defaultPrivate" in collection && "defaultSearch" in collection ) { exec(collection); } else { msg("error"); } } function backup() { vivaldi.searchEngines.getTemplateUrls((engines) => { const backupCode = JSON.stringify(engines, null, 2); navigator.clipboard.writeText(backupCode); msg("backup"); }); } function ui() { const check = document.getElementById("vm-bse-backup"); if (!check) { const place = document.querySelector( ".setting-section > div > .setting-group.unlimited > .setting-single" ); const btn = document.createElement("input"); btn.setAttribute("type", "button"); btn.setAttribute("value", "Backup"); btn.classList.add("vm-bse-backup"); place.insertBefore(btn, place.lastChild); btn.addEventListener("click", backup); const input = document.createElement("input"); input.setAttribute("type", "text"); input.setAttribute("placeholder", "Restore Backup"); input.classList.add("vm-bse-restore"); place.insertBefore(input, place.lastChild); input.addEventListener("paste", restore); input.addEventListener("drop", restore); info = document.createElement("span"); info.classList.add("vm-bse-msg"); place.insertBefore(info, place.lastChild); } } const css = ` .vm-bse-restore { width: 130px; margin-left: 6px; margin-top: 6px; } .vm-bse-restore::-webkit-input-placeholder { opacity: 1; color: var(--colorHighlightBg); text-align: center; } .vm-bse-msg { margin-left: 12px; } `; let msgTimeout; const settingsUrl = "chrome-extension://mpognobbkildjkofajifpdfhcoklimli/components/settings/settings.html?path="; chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { if (changeInfo.url === `${settingsUrl}search`) { setTimeout(ui, 100); const check = document.getElementById("vm-bse-css"); if (!check) { const style = document.createElement("style"); style.id = "vm-bse-css"; style.innerHTML = css; document.getElementsByTagName("head")[0].appendChild(style); } } }); })();
History
- 2021.9.0 Clear removed engines, reset history IDs
- 2022.3.3 Complete rewrite for new backend
- 2022.3.4 Better handling of default search restoration
- 2022.4.0 Restore all defaults (search field, speed dial, private sf/sd), clean up code
Bonus
-
Backup search engines from a profile without the modification: Open devtools for the user interface, visit the console tab and execute following code, copy the output and save to file.
vivaldi.searchEngines.getTemplateUrls((engines) => { console.info(JSON.stringify(engines, null, 2)); });
-
Use an emoji as search engine favicon: Visit https://favicon.io/emoji-favicons/ and pick an emoji. Download the zip archive and extract. Visit https://dopiaza.org/tools/datauri/index.php, upload either the 32px or the 16px version of the image and generate data uri. Copy code and paste as faviconURL of the target engine in the search engines backup. Restore backup.
-
While testing this mod I noticed problems with Vivaldi's native/existing option to restore defaults. If you restore defaults and tick the option to keep custom searches, default searches you have edited will be doubled now (default + edited custom). When selected they will share the same name and the same keyword and in case one of them is the default for private search, this will be doubled too. It's quite a mess really, is this a known problem or will someone have to report this?
-
Ok, not bad, your idea. But I have something simpler.
I use 'ContextSearch web-ext' from the Google Web Store:https://chrome.google.com/webstore/detail/contextsearch-web-ext/ddippghibegbgpjcaaijbacfhjjeafjh
With this extension, you can easily sync your search engine with all browsers and make a local backup on your hard drive.
-
I always find it quite odd that vivaldi decided to re-implement their own storage of search engines.
If they just extended
chrome://settings/searchEngines
then not only would that be (I imagine) less duplication of work, but it would by default get synced through the normal chrome sync interface. -
Fantastic! To test after backup (copied on notes), I've deleted all but DDG, and then restored everything from the backup perfectly, even setting Google as default for normal searches and DDG for private searches.
Remember to push Save button too after restoring, I've noticed that the search field list of engines isn't refreshed if you don't. -
@luetage said in Backup Search Engines:
A companion mod to Import and Export Themes. Makes a backup of all your search engines, which is something that still hasn't been implemented to native Vivaldi Sync. Just recently I reset my profile and was surprised that I had to input all my custom searches again. Quite annoying, so here we goโฆ
The mod adds a backup button and a restore input field to
vivaldi://settings/search
.
- Backup: Click the Backup button. This will copy the data to your clipboard. From there paste it to your notes panel, or anywhere really, but Vivaldi Notes have native Sync, so that's a plus.
- Restore: Copy the backup data and paste or drag&drop it into the Restore Backup input field. This will restore your backup, but you will lose all search engines you have added since your last backup.
Copy and paste following code into a
custom.js
file. See pinned topics on this forum board for instructions./* Backup Search Engines */ function _msgSearch(pnt) { clearTimeout(_msgTimeout); if (pnt === 'backup') { _infoSearch.innerText = 'Search engines backup copied to clipboard.'; } else if (pnt === 'restore') { _infoSearch.innerText = 'Search engines restored.'; } else { _infoSearch.innerText = 'Search engines code error.' } _msgTimeout = setTimeout(function() { _infoSearch.innerText = ''; }, 50000); }; function _restoreSearch() { event.preventDefault(); event.stopPropagation(); if (_eventSearch === 'paste') { var clipboardData = event.clipboardData || window.clipboardData; var engineCode = clipboardData.getData('text'); } else { var engineCode = event.dataTransfer.getData('text'); } try { engines = JSON.parse(engineCode); } catch(err) { _msgSearch('error'); return; } if (Object.keys(engines)[0] === 'context') { chrome.storage.local.set({'SEARCH_ENGINE_COLLECTION': engines}, function() { _msgSearch('restore'); }); } else { _msgSearch('error'); } }; function _backupSearch() { chrome.storage.local.get({'SEARCH_ENGINE_COLLECTION': ''}, function(back) { const engines = back.SEARCH_ENGINE_COLLECTION; const engineCode = JSON.stringify(engines); navigator.clipboard.writeText(engineCode); _msgSearch('backup'); }); }; function searchEngines() { const search = document.querySelector('.setting-search-engine'); const check = document.getElementById('backupSearch'); if (search && !check) { const place = document.querySelector('.setting-section .setting-group.unlimited .setting-single'); const style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '#backupSearch, #restoreSearch {margin-left: var(--padding);}#restoreSearch{width: 130px;margin-top: var(--padding);}#restoreSearch::-webkit-input-placeholder {opacity: 1;color: var(--colorHighlightBg);text-align: center;}'; document.getElementsByTagName('head')[0].appendChild(style); const backupBtn = document.createElement('input'); backupBtn.setAttribute('type', 'button'); backupBtn.setAttribute('value', 'Backup'); backupBtn.id = 'backupSearch'; place.insertBefore(backupBtn, place.lastChild); const restoreInput = document.createElement('input'); restoreInput.setAttribute('type', 'text'); restoreInput.setAttribute('placeholder', 'Restore Backup'); restoreInput.id = 'restoreSearch'; place.insertBefore(restoreInput, place.lastChild); _infoSearch = document.createElement('span'); _infoSearch.id = 'msgConfirm'; place.insertBefore(_infoSearch, place.lastChild); document.getElementById('backupSearch').addEventListener('click', _backupSearch); const restoreSearch = document.getElementById('restoreSearch'); restoreSearch.addEventListener('paste', function() { _eventSearch = 'paste'; _restoreSearch(event); }); restoreSearch.addEventListener('drop', function() { _eventSearch = 'drop'; _restoreSearch(event); }); _msgTimeout = {}; } }; // Loop waiting for the browser to load the UI. You can call all functions from just one instance. setTimeout(function wait() { const browser = document.getElementById('browser'); if (browser) { document.body.addEventListener('click', function() { setTimeout(searchEngines, 50); }); } else { setTimeout(wait, 300); } }, 300);
Funktioniert bei mir nicht.
-
@LonM Yeah, for example the exception list for cookies is synced โ that's classic chromium storage. But on the other hand I don't see the issue to just sync all custom engines while retaining the defaults per installation. Someone just has to find the time to do it.
-
@iAN-CooG Good point, I didn't notice. Seems like the address bar switches automatically, but the list and the active search engine in the search field stays on the old values. I just updated the mod to trigger the click on the save button automatically after a backup has been restored (don't want anyone to get a cramp in their fingers :P). There was also an issue that messages were displayed for too long, fixed that too.
-
@stardepp We are not on the German forum board, please write English. And it's hard to tell what goes wrong for you. Have you created a file called custom.js and did you edit browser.html to refer to this file? Does any other modification work? Did you restart Vivaldi after you made the change to the application, or did you at least open a new window?
-
@luetage ok, sorry.
-
@luetage Amazing! Thanks to you, it will be more hasslefree to refresh a profile.
-
I tested it and it works well, but i had no doubt.
@luetage you're great, you did two very useful js.
-
@luetage said in Backup Search Engines:
... I just updated the mod to trigger the click on the save button automatically after a backup has been restored (don't want anyone to get a cramp in their fingers :P). There was also an issue that messages were displayed for too long, fixed that too.
Thank you so much, very helpfull mod indeed!
Works ok with Vivaldi 2.4.1488.35 on both Win10-1809_x64, Lmint19.1_x64 and Lmint19.1_i686 (tested also with snapshot 2.5.1497.4 on Lmint19.1_x64).
-
I can't seem to get the restore backup to work. Every time I try to paste/drag&drop the data into the input field, I receive the message "Search engines code error".
I tried it both inside the stable and the snapshot versions.
-
@AltCode This means your backup is faulty. The input field throws an error when the json file is invalid. I just tested the code resetting search engines to default and restoring from backup on snapshot and it works.
Well, give me your search engines code and I'll take a look at it, maybe it's salvageable.
-
Code
{"customOrder":false,"default":"cj3trn97f00003o5l5z6o68tl","defaultPrivate":"cj3trn97g00033o5lj3x9hg2j","engines":[{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABR1BMVEUAgnIAgnEAfWwAf28AgXEIhnZAoZUVjH0Ae2oAfGsAgHAMiXnp9PPo9PKbzcdQp5wOiHgLiHji8O7////I5OAIhnXh8O7n8/EMiHgAe2sAfm4JhndHpJkmlYdltKr3+/q93tpls6kYjH0HhnYIhXbo9PPr9fSz2dRWq6AQiHkAeWiSycPj8e+l0sxJpJkKhXYwmo3J5OEMh3cCgXCt1tHt9vYQiXoAgXACgXFKpZq229bx+Pfn8/IPiXoAdGMdjX/D4t4NhnZ1u7Ls9vXs9fUQintaraLX6+nU6ucLhXbe7+xCopa02tX6/fyYzMUdjn8AgG/5/Py43Nc7nZAAemkAf27i8O/W6+hdrqMAfm0AfGwKh3ft9vV2u7INh3cAemoBgHBFopbB4d3+//8jkYMDgnJgr6XZ7eq939pAn5MSiXp8v7Zjs6nfb/V1AAAAAWJLR0QTDLtclgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAP9JREFUOMtjYKAWYGRixivPwsrGzsHJhVsBFzcPLx+/AAtuBYJCwsLCIqIsuBWIARWIS3DhVyAmSAcFklKMeBVIy8hKcTDjUcAiJ6+gqMQkyYVLgbKKqrCwmrqGJid6qMLcoKUtDAI6unr6LFgVcBgIQ4GhERc2BczGJlAFpmZYFXCZW1haWYMU2NhiV8DAbGfvgEcBM4ejkzPYChdXbAoYmNzcoW7w8GTBVODl7QOV9vXzD8DizUCYH4OCQ0LRAypMGA7CIyKjMII62gYmHRMbF48l5SUkJoGlk/1SQrAnCs7UtHRh4YxMSSlcaYYlJCs7x4KTAQ8I4OBkYRgAAADZQSnp408zDAAAAABJRU5ErkJggg==","historyId":1,"id":"cj3trn97f00003o5l5z6o68tl","keyword":"b","name":"Bing","post":false,"removed":false,"suggestUrl":"https://www.bing.com/osjson.aspx?query=%s","url":"https://www.bing.com/search?FORM=INCOH2&PC=IFJ1&PTAG=ICO-c9d0fc87&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":2,"id":"cj3trn97g00013o5ljema6csh","keyword":"y","name":"Yahoo!","post":false,"removed":false,"suggestUrl":"","url":"https://us.search.yahoo.com/yhs/search?hspart=iry&hsimp=yhs-fullyhosted_009&type=dpp_vvldnu_00_00¶m1=1¶m2=pa%3Ddowncoll&p=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAEbAAABGwGN907lAAABEElEQVRYCe2XPU/CQByHn146iAsSNwyJK5OTCxOLO18C5ibyMRxwcGEjfgFmJr8CSyMYwgIFFi2FJm5nrjmCMbGJkust90z3ktzzu5c0/XtSSjpdLoAe0ALKmGULDIGg/0Dste+lkr8AN4bFPxkDTaF3XrQc7ewJfey2aIkC7jyPsrAoz3ABXAAXwAVwAfzGLVxW4LwEtepxonYFpTOz8ukM1A+JNKvJxze18D79ZPIW/Tofrd6J1h/5AZbRhsVyk7XD1xlJss/ayS7N+gfU+Pf+X/Afn56Pgl160mL/wbuu31l9A+474AK4AELXarbYCl0o2mKoAgS6UCwa5QzEPBzFqkoFBgVdh3IoV3MejuIvl1JVBn5AFIAAAAAASUVORK5CYII=","historyId":3,"id":"cj3trn97g00023o5ls9d8wvgb","keyword":"s","name":"Startpage.com","post":false,"removed":false,"suggestUrl":"https://www.startpage.com/cgi-bin/csuggest?query=%s&limit=10&lang=english&format=json","url":"https://www.startpage.com/rvd/search?query=%s&language=auto"},{"custom":false,"faviconUrl":"data:image/png;base64,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","historyId":4,"id":"cj3trn97g00033o5lj3x9hg2j","keyword":"d","name":"DuckDuckGo","post":false,"removed":false,"suggestUrl":"https://ac.duckduckgo.com/ac/?q=%s&type=list","url":"https://duckduckgo.com/?q=%s&t=vivaldi"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAYFBMVEX////99vP+2s/+wK3+sZr+oob/kW//elH/glz9zb/+6uT5+fn29eXq8/TU6uu43uGk19l9x85Vt8E2qrbr77zJ35h0vYJgt5NLsaXa4FnS2THW2i6qzVO/00KQxmvh5n7jXP3sAAAEA0lEQVR4AYzPxQ3EUBRD0Tym/P7LHQzz2V9L7k4AILGomrmqcCRU9xxkiLstuTI+3QBktyNKWU9ysYHP7M856zb3IVahwASAxGBRHyYoL3vyxeOlPnjYUITTPuWfS0DtJf0nnE4WCvUsH/Sk9sXHN/690pC31t6EVod6szoMLTN7QmXHK+//lhcd5IuN3e9Xd4kOZ8gi98da99stslgDGs7Vfty+lfb78/WeYr1fj/uK0YBEBQH9iAlc518ipaVdMASirSOc137Qv80fs5R1aspKIFar+6b0X/rvT2dQTk95vZ8JQtdk+W/9j7fy1hjvHe36QQIIoNumBrC3A/c3j/ekluYQSO6vl9ojwIfxnBswttw/h6WFaGtRgbkojVKKwswImNjuEicIAk58YTYu5ww5xjKl4Lyx1nyvfKOeW84pAQiYPz5xTiutgzVrWRt/A4L0JARYwPU3EKV3d8FZU9TciAih0AAMAZDe0bemUh+2AV09XGgjgft7p792+ygCFMaGCfRC4PbM+3UwfxVTOHMQLRQggpIAYZyM/YvCIAPNCsYrOzDlxQE4ZFe6wK8/QQNnIApetQlwRMHXgzivOTQDLykoqDloHYXg6ho4hxMsQAaPegLWGufrGtj9/qcBkX0GMoGoqo3RhOEHSjCF6RTp6gjYPMiWXfzB92YB+Bqn/gHgfeoiAI4AGJjBxxivqhJQ8JOAYJMYDhlAssQIxy8tzwQRqY8HqgTwISJocs75DUIuaW9NUGEFuBYAGJxtG6h0hESeY5baRQ8EYLzAROjzVM3CijqF6+S3FBDjAtcwAFfYHQeTPyOUBswcD4MMEtYhassSVkoFlZ8zHzfCsJ3mq3g1FQDgnwP8f567dZ/00UXrs5cGAQg7APq9Yqnh6XI6xFGEgNqJsGHKS9/hIY7z6mILEziiAgDJqNyD140P43Fd7FgI0PBF1iWAJ3K5iAfWsjycLh00MAWayq0GAcFkl96s4CQKRENXLjUMzDoCivYEkAEUYK+DQrHVMIoymoUDJ9nqXG2kcHlOu1JBRmgvoBECKPwxnqsitC76IaADgfL9xb1AmP6rvIxyBARhICpIG2mXKNz/sLsWnERDQ3b+p3GIH+9NMSeyNd6EsysurPqBPozTESWvL7TT+ukAZWHEAzlarub2q+1X679JMWRc8D+iXUZYHen51befASu0nHVaL4rvxwMgkoDahsq1TesqvZ91m14ALWu5cbu2O/UCrz9KkGfKMFCeoQsFUdA+u9KCl/SNQ4ZvcFRXuXgo0y76SYiJjzFy8yOwLtrjD9qSE5v72cKl98EamSglIvoru9bnnJiHzTvXCfZa3xyUl3VEQ1+NUIoStn9FTXp7JPji/guQdMgZW2jIGAAAAABJRU5ErkJggg==","historyId":5,"id":"cj3trn97g00043o5l8swtsbjo","keyword":"e","name":"Ecosia","post":false,"removed":false,"suggestUrl":"","url":"https://www.ecosia.org/search?tt=vivaldi&q=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfhBAwKMAfiL115AAACxklEQVRIx6WVX2jVZRjHP7/T8c9pg2nhv2yDXWg4gqGsQGci68J/FRhq4IUohISpiQpeRoi48DJML0yCukpEiV0oIuaIqTSmUtREFCdhjTTFnTPP9Jz308X57efZ2aJ19vyu3ud9ns/zfX/P+ycKANN4mxZ2MH77gm7O8wgIhEzoClbxdYVMgDA3XKwq3WC4GOamaGHZ/5A+0pbRkmJx1ekAi6PghACkyUU11aebS0OWIhleAOAZQ2QYJEMagCcEppBnKmngCTKJPLVEQI4UNaQjTnGYQWYSUeAeb/Iph7jCS6R4Ro4NtPEZfzCNPJNZSyu7GaSOAaayk/chZPP2+KGIuNc7Fu33c1Piy54ya8FeV4jLvWzWor+6VFxjjwVDlpBVzbtWrPWaw7ZVnGlvPNrpfG8lc3t81b9US4BgUM9YJx4qudVuZ4j7VP3TBR5TS5EDtnkwjisD5HxXbPBxDNBPxDpvqvtsNZcATjrPO/EoAQT1WxGPJoE91op77LPe7xNvcIXbLA5v5nLAY5vFRQ4kGraI9ba5wacJ4Lr1/jRcvxwQ1HYx8rskuMuM+KJXE49ud/Xw+kcDbtsovmUh0bBRnG5vAvjdVzz3PN2QTZVtSxpZBXTxQzyGVuAhXwIRAF8zv/LwPlcQ1J+dJG52KO7MEueIc/xF1Uc2eby8/kgFAK/zDtDBb0TAV8gxaujnGwBOIB9UnqdyBUHtdIq4S+23yQ51vTjLG+pCj4ysP/InlgBDrhIb/NuDvmdBvWBaPOBZm73/X4CgnhbxIxf5o6Vzsk58zTfcX5k+NuCBzSJ+bDFu52kz4mzvjg+gh8V6byXdH3SluLd8A/1bF0rdX0MDm2jE2JNhI9NZH89WdmHUba8FO+wrq6b3PWF+dH2DhPaxEJViHUu+wdCe5tIYd+04PLFdStFNZ9W3eifdE35co4k+7/8AeaKDkPxRJzsAAAAASUVORK5CYII=","historyId":6,"id":"cj3trn97g00053o5lye6a3670","keyword":"w","name":"Wikipedia","post":false,"removed":false,"suggestUrl":"https://en.wikipedia.org/w/api.php?action=opensearch&search=%s","url":"https://en.wikipedia.org/wiki/Special:Search?search=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFZklEQVRYR71Xe2yTVRT/3fOxtuvWlY3XeAlOFDYhQ6YiD8nCokPFF/gAjBFkIgoRECQzZiASkIWQsIiJbhAi4aExwUQjQYgjcYEMh8KCYhA3mITHGK/B2nVdv3PNLf3a7+u6tSOL96/2O6/fPed37zlXIMElpUwDMJ2Zp0opc4UQWQBcIfNbUsqzQohaIvoZwI9CiFuJuBbxlKSUI5m5GMAsInLE01dyZm4FsIeINgghznRl0ykAKaWTmdcCWEJEWiKBo3WYOQBgMxGtEkIoUB1WTABSygeY+TsiyrmbwDGAnCSiGUKIf6JlHQBIKccx809E1DdaWb90AW2HDqD9+DEEGurBzTcBKUFpbmjDsmDLHQd7wTRog4d2wM3MTUT0pBDihFloARDa+eHo4Prli/CUf4a2qspgwC6XELBPykfKwiXQMgdZVEMgJpozEQYgpUxh5l+j0+47uA8tZaWQvpgl7BSLSHbCtfwj2POfiAahyjHe4EQYgK7rm4jofbO29+uv4Nn6+V3TwFE4Ha4PVsUqx0ZN01YqQRBA6Kj9aWa72vnt0o9jBu+VNQK2RydCGzgYEAL6xQvw1xxBoC5y4hzPvAjX0uKgPNbpIKJsVYqgVNf17UQ011BUZLtRNBuyzWexVQFTlxbDljc+JjD/sWrc3rQO9sn5SF20vMvMMfM2TdOKhJTSzcyXzZeMp+w9eH+otjhIyh4N9/oyCJdx+cX2L70eCGdK3LIxs5eIMhWAOQB2GRaytR56VQ68lQPRdqxf8DNl9EF6xW6QOz2u424qzBK6rm8lovmGIZ/7FFy3OvjX/1dvePcNQ+qS1VCE6unFzOUiEAjUaJr2cLj+vxdC3jgUjsW3hsD27N9Ar149HV9x76jKwDUiyjC8B6qGAv7GcDAx4CVoo3d3GrxgvSdhYCUv2JGfE9mIupgUAD8RJYUBVDoAyWGnNLwYdN8nPQJgfr4NcyaGQ6mu6f9fAbw+OQlzp9gi5Q0BuEpEfTotQf+Z0Mbs6ZEMLCyw4eXxlgw0dSTh8WmQ1yvDARtt2eg/6TckUfdIeLaJUVRh7R+rZ9gxZVTEj0HCqGNYCq4rCQLY3zYEpbdzseKRxXg+qyBhsinFb6rbUV7pt9jsWuREpjtyNQePoZRyNoAwzWXrOfiO5GBzSw72+oYHHWQ43NhduAl9HL0TAtHik5j3ZSuueyKt+56+hO0LkqPtX1UA0kJXcVi6uXotdjXUWpRHpWdhS34J3Laur+J2HSj51oeaet1i/3aBDa9Y66+u4gFGM9pGRG8aFpc8TZi1fxm8AWszynT2xcq8t/D4oLyYmThzswGlv1Tj7B9PAYiMkRkpAjveSUayzZL+Ck3TFhjt+H5mPkUUYdr+hiqUVJfFDDQ8bTAmZD6EoamZEELgSus1HL9yCrVXT0NCQvONgLNxMUTgTu9YM9OBySMjgJi5PdSO68wDyUYiWmGOuPP09yg7sSOhukcrCd2F5MZ3MS8v13L2lR4zb9A07UP12zySqTH8KBGNNjs78O9hrKv5At5A90YyTWgoyn4NRWOes2BjZvV4eUwIEaxv9FA6gpmPENGdPhxal71XsaV2Jw6ePwyON5QCyOv/IJaOfQOKuObFzI1EpIbSeuN7rLF8LDMfiAahDBQ5FYiaxpOoaz6PG23NwSHZbXdhmGsQxvYbhYIhEzAy/d4OZQsFL1TPN7Ows4eJysReIhpzVwSIMgqlXT1MwjvvNAOGQEqZzMxrACwzn47uAFJsB6Cm7TVGzTuQNZ5DKaXKhnqcziYiZzz9EMu9aswjolIhRF1XNnFfx6aMqCvw6ajnuTskb5ZS1pue5/uEEC2JgP0PiMlsM6t9TgAAAAAASUVORK5CYII=","historyId":7,"id":"cj3trn97g00063o5lbhkdv3av","keyword":"g","name":"Google","post":false,"removed":false,"suggestUrl":"https://www.google.com/complete/search?q=%s","url":"https://www.google.com/search?q=%s"},{"custom":false,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gcDBi8651D+ugAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAMaSURBVDjLVZNdaJtlFMd/z/N+5Ttt0lbTj6xrXcUIVYpTOzZQUOY2Lzq80KLghTcy0apXil6MKaxeqXWKDoYoggiCA6udIJWtggw2dFVR00Cp61fStEnffDR5k/d9vDCWeuBcHf4//pzzP4I9pRpDCCONUxlN4bOO4amUQO0UGmam7nqf9IVnC2s7j5DwX9rViL2AWnpgSJriazSG8JnIgI8aFiUiuEoBTPcYc+OT5dOVV+OvqP8BtmeSJ6xefXrHE5SbUPQEOaAZ8CMjYWKWQdPq4rI70thUgT4Dsm/GJ9A/nIjz8EGjRxNM56/Bps+l5pNrtuGdqQp+sFIhy/PUiXzNOTOXt7XtNmFELRa4eDEKKAFQ+qrverXCiL3gYyG2M3d8YvkJoAnYQB1QP6/59ffXTi5frXHLQ4MpfFr0nbMdz78ksh8lk76oWtpa0smuUrz/3cWjgAbkW10Cmp9nTjH+xVPhUFfa1vwe5vAdbAyPChlu9x5z1xV1W+fHxerHQAKIAx1ABDABMX7bB/DaoZJmVy54dRddKm6dv3K31N9jnzblIf9SfJ+p/gJYQBhoawECgA7QdvptqDd/EmUH1WiiYFhqW6CbAstWBIs4gNsSBIH2FsQChJvPghQNUXbwl2G/TCAlLBpSEHAVY0QGBZRbCzT3OAkBZuncJKAecCsGA6EkbdJ/QyKZ0TWBvlThSCh4SsEKUAFUy347EEXIoO/xF6Kq5Hs6lujF8FtcSvXekOLX5XTx7/zvpUwWo1jovjqw/3UgBzita4QRIi4CZszo3nfFdVyZvOsAyvPOAYjVf4N4J/CbA1j9vczKk5lvtuc/m7Xnl3ONYtVDFSJPTj3XPHD4US+UJDYaImI2Un8eDP+xG+VVOFal49sl8xD1/hE2GtsU3QpvrX/57KqzVQBWup75btLpGTxcu7cPETQJm9wn/wN0w8w1Xr6n5PRvbqezWDVJQLMQiEbrKp25C0dfNNdvfpoo2Ax2QiLOitz7jX5y18eY6mjijRXXNs6X8/ZlD1XaHUNn7vyDb9QzN882q1tHwrez8g9MsT4v9P+2wgAAAABJRU5ErkJggg==","historyId":8,"id":"cj4trn97g0006c0c35c091be5","keyword":"q","name":"Qwant","post":false,"removed":false,"suggestUrl":"https://api.qwant.com/api/suggest/?q=%s&client=opensearch&lang=en_gb","url":"https://www.qwant.com/?client=brz-vivaldi&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAG7ElEQVRYR53XCYxV5RUH8N99780CAjMDwxRZjcZqcQGNQEMFCwhIUxotInHBtobWxlqNsTVqU21D0zalGo1aW5cqNW1VmmoLRqFRDEKVugHWakUb2VQUmBmWYZb33m2+e9+bBWag9ktu8pbvfuf/nfM//3NOpI8VE5kvEy1TCFviOUYqmqZousiZGCU2qPT6PpGteF3kObHV0Srbkvfmy1qmGBH3Zirq7cfwUqfhacapdLWi8+XUJ/uL4eTSE76HU8KTKZ2Wt1vkSZG7opU2loGUz+xu8zAA8Rfloufl47n6a/NjfFdWVeKHOPWGSCTuNJuc3wNSJCuLgjbcpcqt0XIt5bP7BNBpfIbPynhMhfE6ku15kiN79VgvXgyAAticiuTtDQoWRM9651AQnQd2Gp/tTLGnZTQoJOZzRzScGUDlUOIOCgfSJzuAilryLbH2j/IJjKJPMCda5dXuIBIA5ZjH4eZZL5SMh1sH432vTCUt7bxQ2nIiRmA/XsHnMHoghX0BRE7RxwqmJJ4o8SwKbA8MTWLeap2s8aWbB+f1vcItm/Yz8SLmX8HOXWzexEvLGDuDuRfz6joevIVjB5Pfk5eVU7BBtS8knAi2O28/yxI539ORuP3IxgOs6jEs38KKx5k4mXffZvgoMhFDhtF/IO0HufEbrHuMITXkmztUqJD3y2iV7ye2kxDMNk5svVhVic1HIVtE1UhWbGPTev75BpcsYmYDJ53ND+5g2ChaD6QAXlzG4BoKzYGcIYfaRCaFFC0DuF/GIvmE7UeOe0iEKJeSLux++B3++FuW/Zzho3l1KxdfyvkLeWUdSxeXQ1AOZ5kPD0QrfTNKFC6fKFi9OMnnvm8fDOdqqKij8V0mXsb1P+GmK9ixJv09qNHunazHKRg5iOLe7lwKChJ0ZJecM6J4toUiv1NI8jbkeroy/VNjxbbgOiqH09HMjr00kwjtr29j6jTGnskJGBKeBiqOSe+RpOZBCvsptnYHUZCTVXR5FM/0sJyvyZcABB9UDKZlD5txbDh0AC/vZyxmXctpZ1FXy8njCXn00vM07mXjGp55nBaceixNH0qyfzQq6+hoLPs3BZD3cBTPslHkdMVE4TOytXzcxEkTmDqfbZtZcz/f/hXnzE7jnOmDJm0tbHmPZ1dw+83MnMtxp7B2KR99yJBBFJJwFGVkxDYFDzSK1Cbxz9ZGmpo460JuuZOhw1Mm79nF8DFdLiwGrMHLJbrEJTUpfw9Ueu9thg5jUB0fvM/ia9i0nEGlbAg8oDEAKOs81cex/H3WPM2U8wiGMuUSFzS9nbZWjilX4UN0Knigspqo2zvFONWGtSvTM+eOoTVU7qQ6F44OINwqPC37uG8Jq+/g5hVMmhr0s8sTL7/AndcxcyEXX0lFdWok7AmXWL+az0/vBcAse1DXIwQTLuTWuxnymS4vbPwH4ydxGiZ/iXueIFuZAmhvZdE03niJDXjzdcaO73q3eTc/vY7Vj1CfyHKaikkIDiVh9WiWb+Xun/GdG9MbBA/s+ZgfXc1dy1j+KF9e0PVfAPH7e7nsKhaew+2PUj+sC8Af7uPSK/nK8bT8J2RCDxI+JOfraRpGWbnB7NjNguu56RdpPMsg9u5JCTn6+K5MKP/X0crmt6hvoGFEKTwhfLh3CbfdwMnDaN8ZQtMtDWdaKNtNiDLVqUvrTuSBtdQ19Ix1D03rxoG+fg/cuXYeb/2NgQNSUQrNSuiZCkGIepPiUGhe3M69D6altszkgwf400NMPpcTTuqp2lve5fmnuODyNPXKGbTqCS76KlNG0rY9qX09pLhUDQ8pRhHZerZ+wm+e4ezZ6f3CoaHGr3iE/rU0HJfyY9c29n/CeZcwYQrZklC9tparplAT0raFOGS8nsWoz3IcBYZn2XKQxQ8yZx4DalIgcZHtW2hqTL/X1DJyDJlSKQni9dxT/HABdRly/SgeSG9fLscZE6NnghKWWqO4t4YkqiJbx98/Yt65zPsWY8cxbATVoeB0W6H52PkB/36Tvyxl6Z+ZHKpTKEYt5RpQbkiWRKvckNjuoyXr1heUmo/GbazDJJwxh1GnprEONN8fquS/2PjXtD8Me4aOpn1HQvjS6r0lS/xS9sKRmtKk0x1CezPNTQTvh6oXVr9Eyqg5hqp6OprSEt61UuO9NaXlPf9zWx6akkw/QrqGz8kNCmm9Lx5Me4CuFWIejKdteeS8aKXXDmvLDwMxU2iwHz/6YFJung4b+3oOJh02KB5lMDkMxHz9NCej2TVyqpKaWR7NuqbB7gi6psX/dzTrBNF9OJ3hdFlXi13wKYbTXTKexN2fejjtBHHoeD7dCFnT6WU8j4Q2Z5vYazKek7E6eloqe0cZz/8La4cF4D7EjycAAAAASUVORK5CYII=","historyId":9,"id":"cjtyovrku001t3y5zkxj0umxf","keyword":"r","name":"Reddit","post":false,"removed":false,"suggestUrl":"","url":"https://www.reddit.com/r/%s"},{"custom":true,"faviconUrl":"","historyId":10,"id":"cjtyowbme001u3y5zuka8l8l5","keyword":"l","name":"LEO.org","post":false,"removed":false,"suggestUrl":"","url":"https://dict.leo.org/german-english/?search=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":11,"id":"cjtyowypf001v3y5za3u427i4","keyword":"ig","name":"IGDB","post":false,"removed":false,"suggestUrl":"","url":"https://www.igdb.com/search?utf8=%E2%9C%93&type=1&q=%s"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":12,"id":"cjtyoxkkp001w3y5zwu7eluic","keyword":"im","name":"IMDb","post":false,"removed":false,"suggestUrl":"","url":"https://www.imdb.com/find?ref_=nv_sr_fn&q=%s&s=all"},{"custom":true,"faviconUrl":"data:image/png;base64,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","historyId":13,"id":"cjtyoy8yr001x3y5zlwc32yrq","keyword":"m","name":"Metacritic","post":false,"removed":false,"suggestUrl":"","url":"http://www.metacritic.com/search/game/%s/results"}],"nextHistoryId":14,"version":"3"}
-
@AltCode I think it is due to this test line
if (Object.keys(engines)[0] === 'context') {
can change to
if (Object.keys(engines)[0] === 'customOrder') {
or
if (Array.isArray(engines.engines)) {
-
@AltCode The json is valid, we have another problem here.
@tam710562 NIce ninja, just wanted to post. Yeah, that's the problem, I thought every backup starts with the word "context" but apparently not. When changing context to customOrder it works.
-
The array is array thing doesn't work for me and I don't think it would make much sense, because I want to make sure no one pastes a theme code into the search import. I thought every search backup starts with context, but apparently not โ don't know what we could do here. The logical thing would be to include "customOrder" and make it an additional possibility, but then again I don't if that's enough, could be there are other arrays out there that start with something else entirelyโฆ hmm
-
@luetage @tam710562 That seems to have worked, thanks. As an added bonus, it allowed me to add a favicon to a search engine that refused to load one.