summaryrefslogtreecommitdiff
path: root/ext/js/background/backend.js
Commit message (Collapse)AuthorAge
* Dictionary media import improvements (#1926)toasted-nutbread2021-09-03
| | | | | | | | | | | | | | | | | | | * Add base64ToArrayBuffer to StringUtil * Remove unnecessary media-util.js import * Run async requirements in serial rather than parallel * Update API.getMedia handler to convert ArrayBuffer content to base64 * Rename getImageResolution to getImageDetails * Change parameter order of getImageDetails * Pre-process and store media as an ArrayBuffer * Remove MediaUtil.createBlobFromBase64Content * Fix Anki media injection
* Dictionary worker updates (#1914)toasted-nutbread2021-08-28
| | | | | | | * Add support for running getDictionaryCounts via DictionaryWorker * Run dictionary integrity checks on a separate thread * Remove api.getDictionaryCounts
* Add support for manifest V3 script injection (#1878)toasted-nutbread2021-08-07
|
* Google Docs accessibility (#1875)toasted-nutbread2021-08-07
| | | | | | | | | | | | | * Add accessibility option for forcing Google Docs HTML-based rendering * Update settings * Send a documentStart message at document start * Add accessibility script for Google Docs * Set up accessibility * Update tests
* Throw an error when _getProfile doesn't have a matching profile (#1826)toasted-nutbread2021-07-13
|
* JapaneseUtil updates (#1813)toasted-nutbread2021-07-09
| | | | | | | | | * Rename test file * Use shorthand * Add support checking functions * Remove convertReading from JapaneseUtil
* Text parse updates (#1811)toasted-nutbread2021-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Expose more settings to QueryParser * Rename textParse to parseText * Refactor * Convert reading inside QueryParser rather than Backend * Remove use of readingMode from backend * Rename * Update parseText args * Simplify * Update results * Move use of optionsContext * Run mecab and internal parser in parallel * Added "dictionary-reading" reading mode * Update romaji conversion case
* Add support for injecting dictionary media into Anki cards (#1805)toasted-nutbread2021-07-06
|
* Fix function names (#1803)toasted-nutbread2021-07-06
|
* Add support for definitionless main dictionary (#1729)toasted-nutbread2021-06-05
|
* Refactor display audio options (#1717)toasted-nutbread2021-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update how options are updated and stored in DisplayAudio * Add source list * Improve menus for custom json * Clear cache after options update * Move function * Update public API * Simplify playing audio from a specific source * Simplify audio list * Refactor audio source usage * Refactoring * Refactor argument names * Fix incorrect source usage * Remove unused * Remove return value * Simplify details * Simplify Anki card audio details * Update the data that is passed to AudioDownloader * Simplify schema handling * Remove unnecessary details
* Refactor json audio source (#1711)toasted-nutbread2021-05-26
| | | | | | | | | * Move sources to the end of audio options object * Add custom-json audio source type * Add support for downloading custom-json * Remove customSourceType
* Json schema validation improvements (#1697)toasted-nutbread2021-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Create new JsonSchema class * Add proxy handler * Update tests * Update validation scripts * Update backend * Update audio downloader * Update options util * Update dictionary importer * Update json schema file reference * Remove old json-schema.js * Rename new json-schema.js * Update file names * Rename class
* Show any custom tags on words that have anki cards created (#1628)soriac2021-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Proof-of-concept for showing card tags (#1626) * Resolved most PR comments: - Added a snackbar notification when clicking tag button - Replaced magnifying glass icon with new tag icon - Button now contains a span w/icon, to use text color - Removed unnecessary attributes from button - Backend now returns full noteInfos object - Frontend now handles filtering tags * Add options to show/hide tag button & filter tags * Do not show tags button if, after filtering, we have zero tags. * Change tags option to enums, optimize tags intersection check & fix code style. * Update options-util.js to include new tag options. * Fix wording on new tag setting. * Add CSS to remove hidden buttons from the display layout. * getAnkiNoteInfo extra parameter for additional info. * Add new tag option to tests. * Remove unnecessary changes related to anki tags option. * Code style fixes.
* Translator alphanumeric improvement (#1635)toasted-nutbread2021-04-28
| | | | | * Simplify alphanumeric check * Update option name for clarity
* Replace furigana with reading (#1614)toasted-nutbread2021-04-13
| | | | | * Use "reading" instead of "furigana" for reading distribution * Update tests
* Initial safari compatibility (#1609)toasted-nutbread2021-04-10
| | | | | | | | | | | | | | | | | | | * Update environment info to return the 'safari' browser * Fix popup display on Safari * Update environment assignment * Add data-loading-stalled property when loading takes longer than expected * Add notification when loading has stalled * Allow getDictionaryInfo invocation on non-privileged contexts * Update _validatePrivilegedMessageSender * Don't listen to 'voiceschanged' event unless addEventListener is present Also expose an event
* Update dictionary entry terminology (#1592)toasted-nutbread2021-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update terminology * Update terminology in display.js * Update terminology in display-audio.js * Update terminology in text-scanner.js * Update terminology in backend.js * Update terminology in mecab.js * Update terminology in audio-downloader.js * Update terminology in translator-vm.js * Update terminology in dictionary-data-util.js * Update terminology in dictionary-database.js * Update terminology in japanese-util.js * Change/upgrade {expression} to {term} * Update terminology in test-japanese.js * Update terminology in test-database.js * Update terminology in anki-templates-controller.js * Update terminology in anki-note-builder.js * Update terminology in backend.js * Update terminology in text-scanner.js * Update terminology in display.js * Update terminology in display.js
* Update dictionary settings structure (#1587)toasted-nutbread2021-04-03
| | | | | | | * Update dictionary settings structure to use an array instead of an object * Update ensureDictionarySettings implementation * Remove some usage of ObjectPropertyAccessor
* Fix definitionDetails using expression instead of term (#1562)toasted-nutbread2021-03-26
|
* Refactor Translator and dictionary entry format (#1553)toasted-nutbread2021-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Update test data * Move translator.js * Create new version of Translator * Update Backend * Update DictionaryDataUtil * Update DisplayGenerator * Create AnkiNoteDataCreator * Replace AnkiNoteData with AnkiNoteDataCreator * Update tests * Remove AnkiNoteData * Update test data * Remove translator-old.js * Add TypeScript interface definitions for the new translator data format
* Fix search tab not focusing correctly (#1529)toasted-nutbread2021-03-15
|
* Remove old settings page (#1524)toasted-nutbread2021-03-14
| | | | | * Remove old settings page * Remove spinner.gif
* Make MediaUtil a static class (#1525)toasted-nutbread2021-03-14
|
* Fix permissions changes not being supported on some browsers (#1513)toasted-nutbread2021-03-10
|
* Split dictionary order and index sorting (#1491)toasted-nutbread2021-03-06
| | | | | | | | | * Refactor expression comparison * Rename function * Add dictionary index sorting * Update test data
* Request persistent storage on Firefox (#1480)toasted-nutbread2021-03-02
|
* Improve text parser (#1469)toasted-nutbread2021-02-28
| | | | | | | | | | | | | * Merge ungrouped characters * Update iteration * Fix incorrect code point handling * Simplify text * Specify language * Update how parsed status is represented
* Fix a poorly handled edge case of the scanning parser (#1468)toasted-nutbread2021-02-28
|
* Text source element scanning improvements (#1464)toasted-nutbread2021-02-28
| | | | | | | | * Add api.textHasJapaneseCharacters * Add support for empty query * Add support for showing the query parser for TextSourceElement with content that does not start with Japanese text
* Improve definition ordering (#1456)toasted-nutbread2021-02-27
| | | | | | | * Update dictionary priority * Replace dictionaryPriority with dictionaryOrder * Update tests
* Improve note addability (#1440)toasted-nutbread2021-02-24
| | | | | | | | | | | * Add valid field * Add isNoteDataValid function * Update _areDefinitionsAddableForcedValue to return proper valid values * Refactor isAnkiConnected check * Force canAdd to false if not valid
* Fix useSettingsV2 option (for real this time) (#1421)toasted-nutbread2021-02-19
|
* Update audio downloading to support specifying an exact array index (#1405)toasted-nutbread2021-02-15
|
* Cleanup yomichan api (#1394)toasted-nutbread2021-02-14
| | | | | | | * Move invokeMessageHandler to core.js * Move getMessageResponseResult to backghend.js * Replace getTemporaryListenerResult
* Log refactoring (#1393)toasted-nutbread2021-02-14
| | | | | | | | | | | | | * Create Logger class and log instance * Replace yomichan.logWarning with log.warn * Replace yomichan.logError with log.error * Replace yomichan.log with log.log * Update the Yomichan class to use the global log object * Update lint rules
* Util rename (#1389)toasted-nutbread2021-02-14
| | | | | | | | | | | | | | | * Rename MediaUtility to MediaUtil for consistency * Update variable names * Rename media-utility.js to media-util.js * Rename ProfileConditions to ProfileConditionsUtil * Rename variables * Move profile-conditions.js to profile-conditions-util.js * Rename test-profile-conditions.js to test-profile-conditions-util.js
* Move bg/js (#1387)toasted-nutbread2021-02-14
* Move bg/js/anki.js to js/comm/anki.js * Move bg/js/mecab.js to js/comm/mecab.js * Move bg/js/search-main.js to js/display/search-main.js * Move bg/js/template-patcher.js to js/templates/template-patcher.js * Move bg/js/template-renderer-frame-api.js to js/templates/template-renderer-frame-api.js * Move bg/js/template-renderer-frame-main.js to js/templates/template-renderer-frame-main.js * Move bg/js/template-renderer-proxy.js to js/templates/template-renderer-proxy.js * Move bg/js/template-renderer.js to js/templates/template-renderer.js * Move bg/js/media-utility.js to js/media/media-utility.js * Move bg/js/native-simple-dom-parser.js to js/dom/native-simple-dom-parser.js * Move bg/js/simple-dom-parser.js to js/dom/simple-dom-parser.js * Move bg/js/audio-downloader.js to js/media/audio-downloader.js * Move bg/js/deinflector.js to js/language/deinflector.js * Move bg/js/backend.js to js/background/backend.js * Move bg/js/translator.js to js/language/translator.js * Move bg/js/search-display-controller.js to js/display/search-display-controller.js * Move bg/js/request-builder.js to js/background/request-builder.js * Move bg/js/text-source-map.js to js/general/text-source-map.js * Move bg/js/clipboard-reader.js to js/comm/clipboard-reader.js * Move bg/js/clipboard-monitor.js to js/comm/clipboard-monitor.js * Move bg/js/query-parser.js to js/display/query-parser.js * Move bg/js/profile-conditions.js to js/background/profile-conditions.js * Move bg/js/dictionary-database.js to js/language/dictionary-database.js * Move bg/js/dictionary-importer.js to js/language/dictionary-importer.js * Move bg/js/anki-note-builder.js to js/data/anki-note-builder.js * Move bg/js/anki-note-data.js to js/data/anki-note-data.js * Move bg/js/database.js to js/data/database.js * Move bg/js/json-schema.js to js/data/json-schema.js * Move bg/js/options.js to js/data/options-util.js * Move bg/js/background-main.js to js/background/background-main.js * Move bg/js/permissions-util.js to js/data/permissions-util.js * Move bg/js/context-main.js to js/pages/action-popup-main.js * Move bg/js/generic-page-main.js to js/pages/generic-page-main.js * Move bg/js/info-main.js to js/pages/info-main.js * Move bg/js/permissions-main.js to js/pages/permissions-main.js * Move bg/js/welcome-main.js to js/pages/welcome-main.js