summaryrefslogtreecommitdiff
path: root/ext/bg/js/backend.js
Commit message (Collapse)AuthorAge
* Cleanup unused utils (#832)toasted-nutbread2020-09-15
| | | | | | | | | * Remove api.optionsSave * Remove getOptionsMutable and getOptionsFullMutable * Remove util.js * Remove yomichanBackend
* Database change event (#826)toasted-nutbread2020-09-13
| | | | | * Add api.triggerDatabaseUpdated and yomichan.on('databaseUpdated') * Update databaseUpdated event usage
* OptionsUtil refactor / options default values (#807)toasted-nutbread2020-09-11
| | | | | | | | | | | | | | | | | | | | | | | * Replace _readFile with _fetchAsset for consistency with Backend * Fix error messages * Make OptionsUtil non-static * Update how default options are assigned * Add createValidatingProxy * Add validate, update _onApiSetAllSettings * Remove unused api.optionsSchemaGet * Remove Backend._optionsSchema * Update OptionsUtil to create its own JsonSchemaValidator * Rename Backend._optionsSchemaValidator * Make getDefault non-async
* Use Anki classes directly in Display (#804)toasted-nutbread2020-09-10
| | | | | | | | | | | * Add _getTemplates function * Add template renderer to display pages * Add AnkiNoteBuilder to Display * Update AnkiTemplatesController to directly use TemplateRenderer * Remove old APIs
* Add api.injectAnkiNoteMedia (#803)toasted-nutbread2020-09-10
|
* Anki note api functions (#802)toasted-nutbread2020-09-10
| | | | | | | * Assign duplicateScope to a variable * Add api.addAnkiNote * Add api.getAnkiNoteInfo, update returned data format
* Anki note media injection move (#801)toasted-nutbread2020-09-10
| | | | | | | * Move anki note media injection functionality into Backend * Add marker/mode checks * Remove media injection from AnkiNoteBuilder
* AudioUriBuilder simplification (#799)toasted-nutbread2020-09-10
| | | | | | | | | | | | | * Rename variables to disambiguate * Update handler argument convention * Update getUri argument convention * Change _getAudioUri argument convention * Change getDefinitionAudio argument convention * Add api.getDefinitionAudio definition
* Generalize AnkiNoteBuilder to not use audioSystem directly (#796)toasted-nutbread2020-09-09
|
* Update the AnkiController class to use an instance of AnkiConnect directly ↵toasted-nutbread2020-09-09
| | | | | | | (#795) * Update AnkiController to use AnkiConnect instance directly * Remove unused
* Anki media injection move (#793)toasted-nutbread2020-09-09
| | | | | | | | | | | | | | | * Update AnkiNoteBuilder to not store a reference to an AniConnect instance * Use more consistent details format * Organize options assignment * Move media injection * Inject images before injecting audio * Make functions private * Make static functions private
* Anki screenshot refactor (#791)toasted-nutbread2020-09-09
| | | | | | | * Use more consistent style for injectScreenshot * Move screenshot generation into AnkiNoteBuilder/Backend * Get optionsContext before await
* Anki API refactor (#790)toasted-nutbread2020-09-09
| | | | | | | | | | | | | | | * Add function guiBrowseNote * Assign default server as null * Use get/set properties for server/enabled * Refactor option values * Refactor createNote/Data functions to not use options format directly * Use createNote for testing * Add errors
* Anki note clipboard marker (#780)toasted-nutbread2020-09-08
| | | | | | | | | | | * Update fields reference * Add support for adding clipboard images to anki notes * Add handlebars templates * Add markers * Add markers to readme
* Add api.clipboardGetImage (#778)toasted-nutbread2020-09-06
| | | | | | | | | | | * Rename clipboardPasteTarget to just target * Remove else block * Add helper functions * Defer assignment of clipboard paste target * Add api.clipboardGetImage
* Fix error handling for screenshot captures (#777)toasted-nutbread2020-09-06
|
* Add api.isTabSearchPopup (#763)toasted-nutbread2020-09-04
| | | | | * Add api.isTabSearchPopup * Fix missing asyncs
* Defer assignment of marker (#762)toasted-nutbread2020-09-04
|
* Settings dictionary import refactor (#759)toasted-nutbread2020-09-04
| | | | | | | * Fix .purge not re-opening the database after deletion failure * Create DictionaryImportController * Remove backend dictionary import
* Json schema profile conditions (#758)toasted-nutbread2020-09-04
| | | | | | | | | | | | | | | * Add clearCache function * Add upgrade * Use schema-based profile condition validation * Update profile conditions settings controller * Remove unnecessary async * Remove old * Remove unused templates
* Move generateId to core.js (#748)toasted-nutbread2020-08-22
|
* JSON schema refactor (#731)toasted-nutbread2020-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | * Remove JsonSchema.clone * Move createProxy function * Group public properties first * Create private version of getPropertySchema * Mark functions as private * Use non-static getValidValueOrDefault * Mark private * Make public validate function not take an info parameter * Remove JsonSchema * Add isValid function * Use isValid for some tests * Fix incorrect type
* Translator refactor (#720)toasted-nutbread2020-08-09
| | | | | | | | | | | | | | | * Move simple find sort into translator.js * Remove unused * Use direct reference to database * Make field private * Remove statics * Convert functions to private * Organize by public/private
* Persistent display mode (#714)toasted-nutbread2020-08-09
| | | | | | | | | | | | | * Simplify calls using chrome.tabs.sendMessage and getMessageResponseResult * Rename message handlers * Move onMessage handler into Display * Assign search popup mode which persists across refreshes * Update clipboard monitor on the search page * Remove mode param
* Strip request origin (#710)toasted-nutbread2020-08-02
| | | | | | | * Add web request permissions * Create fetch wrapper that anonymizes the request * Fix Firefox not supporting 'extraHeaders' option
* Fix fetch requests (#708)toasted-nutbread2020-08-02
| | | | | | | | | | | | | | | | | * Revert audio fetching functionality to use XMLHttpRequest * Replace requestJson * Replace requestJson * Replace requestJson * Replace requestJson and requestText * Fix tests * Include support for vulgar word searches * Remove request.js
* Options util (#700)toasted-nutbread2020-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Move options functions into a class * Rename and privatize * Organize by public/private * Refactor to use async function * Simplify update function signature * Add comment for update * Rename * Copy _applyUpdates into _legacyProfileUpdateUpdateVersion * Organize * Move profile options updates * Refactor update details * Add async support * Formatting
* Don't assign mode as a search parameter (#692)toasted-nutbread2020-07-26
|
* Fix search popup mode (#687)toasted-nutbread2020-07-25
| | | | | * Fix missing mode on search popup * Remove mode update
* Dev dependencies updates (#679)toasted-nutbread2020-07-19
| | | | | | | | | | | * Update eslint to 7.5.0 * Update eslint-plugin-no-unsanitized to 3.1.2 * Update fake-indexeddb to 3.1.1 * Rename DictionaryImporter.import to .importDictionary Conflicts with o-unsanitized/method
* Reusable backend popup window (#673)toasted-nutbread2020-07-18
| | | | | | | | | | | * Update _updateSearchQuery to return the promise * Update how the clipboard search popup is opened * Create an API function to open the search popup * Skip animation on popup creation * Add API function
* Script ready state change (#672)toasted-nutbread2020-07-18
| | | | | | | * Update how backend/frontend ready states are awaited and signaled * Log errors on the search page * Update action name
* Content script ready checks (#670)toasted-nutbread2020-07-18
| | | | | * Move ready checkout of Display * Add function to wait until if a tab's content script is ready
* Fix incorrect URL being used (#669)toasted-nutbread2020-07-18
|
* Port name details (#667)toasted-nutbread2020-07-18
| | | | | | | | | * Use a stringified JSON details object for extension port names * Fix incorrect frame ID check * Add support for connecting to different tabs * Add function for invoking on a different tab
* Remove backend options context (#661)toasted-nutbread2020-07-11
| | | | | * Add support for getting the current profile * Explicitly use current options
* Message handler refactor (#660)toasted-nutbread2020-07-11
| | | | | | | | | | | * Refactor searchQueryUpdate action * Use standard message handler style * Use name "promiseOrResult" for consistency * Use standard message handler convention for Yomichan message handlers * Use common message handler invoker
* Generalized frame connections (#654)toasted-nutbread2020-07-08
| | | | | | | | | * Create FrameClient and FrameEndpoint * Use new Frame* classes for Popup=>frame connection * Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId * Update FrameClient to store the frame's frameId
* Rename Database to DictionaryDatabase (#633)toasted-nutbread2020-06-28
|
* Merge BackendEventHandler into Backend class (#632)toasted-nutbread2020-06-28
| | | | | * Merge BackendEventHandler into Backend class * Remove unused public functions
* Backend refactor (#631)toasted-nutbread2020-06-28
| | | | | | | | | | | | | | | | | | | | | | | * Mark fields as private * Remove static * Make functions private * Create onCommand handler * Group event handlers * Move functions * Merge _onOptionsUpdated and _applyOptions * Rename event handler * Move event handlers * Remove _getOptionsSchema * Move private functions
* Use deferPromise (#630)toasted-nutbread2020-06-28
| | | | | | | * Use deferPromise * Move definition * Implement promiseTimeout using deferPromise
* Clone function (#624)toasted-nutbread2020-06-28
| | | | | | | | | | | * Add clone function * Replace utilIsolate with clone * Replace JsonSchema.isolate with clone function * Include core.js for tests which use json-schema.js * Update visisted set
* Shadow DOM container for popup iframes (#623)toasted-nutbread2020-06-24
| | | | | | | | | | | | | | | * Add support for injecting stylesheets into a custom parent node * Add api.getStylesheetContent * Add support for injecting a CSS file's content * Add usePopupShadowDom option * Use a per-parentNode cache * Add support for using a shadow DOM wrapper around popup iframes * Ignore the popup container instead of the frame
* Generic database (#600)toasted-nutbread2020-06-21
| | | | | | | | | | | | | | | | | | | * Update test * Rename db to _db * Create GenericDatabase class * Catch prepare error * Allow database to be purged even if it was not open * Remove unused functions * Change static functions to non-static * Delete and count using the media object store * Update tests
* Optimize anki note field generation (#611)toasted-nutbread2020-06-21
|
* Template renderer class (#574)toasted-nutbread2020-06-15
| | | | | | | | | | | | | | | * Convert handlebars.js to a class * Move/rename function * Update helper registration * Rename helper functions * Limit cache size * Make render() async * Rename and move
* Update the badge icon if the backend experiences an error (#602)toasted-nutbread2020-06-13
|
* Immediate backend event handlers (#555)toasted-nutbread2020-06-07
| | | | | * Add function to await until prepare is completed * Create BackendEventHandler to synchronously set up event handling
* Use cross frame API (#553)toasted-nutbread2020-06-07
| | | | | | | | | * Use new CrossFrameAPI for popup proxy communication * Remove use of old cross-frame communication classes * Remove use of old cross-frame communication files * Make the crossFrame object a member of the api object