toasted-nutbread
244ab31bb2
Generic database ( #600 )
...
* 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
2020-06-21 16:12:56 -04:00
toasted-nutbread
0c69e54fde
Optimize anki note field generation ( #611 )
2020-06-21 15:54:34 -04:00
toasted-nutbread
6562d0c1e5
Template renderer class ( #574 )
...
* Convert handlebars.js to a class
* Move/rename function
* Update helper registration
* Rename helper functions
* Limit cache size
* Make render() async
* Rename and move
2020-06-15 20:11:54 -04:00
toasted-nutbread
5cba421201
Update the badge icon if the backend experiences an error ( #602 )
2020-06-13 10:20:12 -04:00
toasted-nutbread
839e306cac
Immediate backend event handlers ( #555 )
...
* Add function to await until prepare is completed
* Create BackendEventHandler to synchronously set up event handling
2020-06-07 21:50:14 -04:00
toasted-nutbread
9767b76553
Use cross frame API ( #553 )
...
* 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
2020-06-07 21:40:11 -04:00
toasted-nutbread
2c58b1c109
Limit action port message size ( #587 )
...
* Add onDisconnect handler
* Update how error is posted
* Update action ports to send long messages in fragments
* Remove ack timer
* Move message destructuring into try block
2020-05-31 18:17:12 -04:00
toasted-nutbread
976a200ffc
Backup update ( #582 )
...
* Add function to assign all settings
* Update how settings backups are restored
* Remove page reload
* Update profile index after importing
2020-05-30 16:23:56 -04:00
toasted-nutbread
6dd6af05e1
Update background global object usage ( #556 )
...
* Omit global window object for scripts used on the background page
* Validate document exists before using
* Remove dom.js from background.html
2020-05-24 14:01:21 -04:00
toasted-nutbread
66e1185686
Settings binder ( #542 )
...
* Fix _modifySetting being async
* Return values for modifySettings's set and splice actions
* Add apiGetSettings
* Create a class which can accumulate tasks to run in bulk
* Create a class which binds input elements to customizable sources
* Create class which binds input elements to settings
* Add support for value transforms
* Remove redundant ObjectPropertyAccessor.getPathArray
* Fix not using correct types for input.min/max/step
* Fix wrong condition
* Use api object
2020-05-24 13:50:34 -04:00
toasted-nutbread
694120b8a5
Cross frame communication ( #531 )
...
* Set up new cross-frame port connector
* Create classes for cross-frame API invocation with replies
* Remove event listeners on disconnect
2020-05-23 13:34:55 -04:00
siikamiika
39df44eca4
Fix "tags" template ( #539 )
...
* fix tag templates for merge and group modes
* update version upgrade
* adjust upgrade replacement order
2020-05-22 20:03:34 -04:00
siikamiika
d6a3825a38
Modifier key platform names ( #519 )
...
* wip
* add environment class
* use Environment class
* use Environment for scanning modifier options
* remove Environment in favor of API
* await promise
* use modifier symbols on macOS
* fix key separator issues
* if else to switch
* simplify variable names
2020-05-09 18:36:00 +03:00
toasted-nutbread
caca9869c4
Add contentScript parameter to backend message handlers ( #512 )
...
* Add contentScript parameter to message handlers
* Remove _validatePrivilegedMessageSender calls from handler functions
* Reformat handlers
2020-05-07 19:37:25 -04:00
toasted-nutbread
bb2d9501af
Add apiModifySettings ( #501 )
...
* Update getProfile/getProfileFromContext to store this.options in a variable
* Add useSchema parameter to options getter functions
* Add apiModifySettings
* Use apiModifySettings instead of apiOptionsSet
* Remove apiOptionsSet
* Fix incorrect deleteCount check
* Require explicit scope for options
* Throw on invalid scope
2020-05-06 19:32:28 -04:00
toasted-nutbread
021ccb5ac3
Move util database modification functions ( #499 )
...
* Update onProgress callback to handle multiple arguments
* Add apiImportDictionaryArchive
* Add apiDeleteDictionary
* Make onProgress the last argument for consistency
* Remove deprecated util functions
* Fix issue with missing progress args
* Remove function calls which modify the database from Translator
* Update tests
* Fix errors not being serialized correctly in _createActionListenerPort
2020-05-06 19:28:26 -04:00
toasted-nutbread
501281e887
Popup init update ( #497 )
...
* Add API function to send a message to a specific frameId in a tab
* Update _windowMessageHandlers to support additional info per handler
* Remove message token
* Add new authorization check
* Set up new initialization handler
* Update initialization
* Remove message token
* Replace 'prepare' with 'configure'
* Create new prepare function
* Change configure guard
* Log errors in onMessage
* Improve popup initialize function
* Clear secret/token in _resetFrame
* Remove backend message token
* Clear src and srcdoc attributes before loading
* Don't treat about:blank unloads as load events
2020-05-06 19:27:21 -04:00
toasted-nutbread
d581bffa15
Style fixes ( #494 )
...
* Place multi-line expression parentheses on the correct line
* Add function-paren-newline eslint rule
* Add some additional eslint rules
2020-05-02 13:04:17 -04:00
toasted-nutbread
5a61c311ad
Api invoke with progress ( #483 )
...
* Create an internal API function to open a port
* Create system for running actions over a special port
* Don't assign in expression
2020-05-02 12:57:13 -04:00
toasted-nutbread
6c341a13d8
Refactor frontend API classes ( #482 )
...
* Mark functions as private
* Remove constructor side effects
* Use safer handler invocation
* Mark functions as private
* Mark fields as private
* Update BackendApiForwarder public API
2020-05-02 12:50:44 -04:00
toasted-nutbread
cae6b657ab
Anki audio download ( #477 )
...
* Update how audio is added to Anki cards
* Upgrade Anki templates
* Update comments
2020-05-02 12:50:16 -04:00
toasted-nutbread
0956634d61
Add duplicateScope: 'deck' option ( #476 )
...
* Add duplicateScope: 'deck' option
* Add option to control duplicate scope
* Use duplicateScope for findNoteIds
* Update location of quotes
2020-04-27 18:10:59 -04:00
toasted-nutbread
5b96559df8
Error logging refactoring ( #454 )
...
* Create new logging methods on yomichan object
* Use new yomichan.logError instead of global logError
* Remove old logError
* Handle unhandledrejection events
* Add addEventListener stub
* Update log function
* Update error conversion to support more types
* Add log event
* Add API log function
* Log errors to the backend
* Make error/warning logs update the badge
* Clear log error indicator on extension button click
* Log correct URL on the background page
* Fix incorrect error conversion
* Remove unhandledrejection handling
Firefox doesn't support it properly.
* Remove unused argument type from log function
* Improve function name
* Change console.warn to yomichan.logWarning
* Move log forwarding initialization into main scripts
2020-04-26 16:55:25 -04:00
toasted-nutbread
9216d1862f
Merge pull request #463 from toasted-nutbread/explicit-entry-point
...
Explicit entry points
2020-04-23 18:26:34 -04:00
siikamiika
6cd86e203a
fix custom anki templates
2020-04-23 19:58:31 +03:00
toasted-nutbread
3c8eb9eee0
Create background-main.js
2020-04-19 14:26:44 -04:00
toasted-nutbread
fd6ea0e404
Add API for getting media data
2020-04-18 21:32:35 -04:00
toasted-nutbread
51d756eefc
Fix _prepareError check
2020-04-18 21:15:15 -04:00
toasted-nutbread
4638985b16
Remove unused global
2020-04-18 21:12:54 -04:00
toasted-nutbread
66ef730119
Update style, use isObject
2020-04-18 21:12:54 -04:00
toasted-nutbread
dee7d924a8
Show error status for prepare() errors
2020-04-18 21:12:54 -04:00
toasted-nutbread
5c5c70326d
Add a delay before showing the loading state
...
Intended to prevent flickering when startup is quick
2020-04-18 21:12:54 -04:00
toasted-nutbread
c9704b5c5e
Update when/how badge state is changed
2020-04-18 21:12:54 -04:00
toasted-nutbread
6498556ec7
Update isPrepared to be consistent with DisplaySearch's isPrepared
2020-04-18 21:11:15 -04:00
toasted-nutbread
e1ebfb02f7
Disable cache on the backend and fix a bug with the cache key
2020-04-18 14:23:34 -04:00
toasted-nutbread
7fc3882607
Update the parameters passed to various audio-related functions
2020-04-18 14:23:34 -04:00
toasted-nutbread
5b3d7fadc3
Merge pull request #453 from toasted-nutbread/reuse-anki-instance
...
Reuse AnkiConnect instance
2020-04-18 14:14:52 -04:00
toasted-nutbread
106172e2c1
Merge pull request #447 from toasted-nutbread/util-conversions
...
Util conversions
2020-04-18 14:12:41 -04:00
toasted-nutbread
06e95b8747
Remove unused global
2020-04-17 22:16:08 -04:00
siikamiika
8c16a6e580
Merge pull request #456 from siikamiika/parse-text-refactor
...
Parse text refactor
2020-04-17 01:32:01 +03:00
siikamiika
619df42aed
simplify to enable constant usage
2020-04-14 21:25:02 +03:00
siikamiika
3fa8b8e186
prevent infinite loop if source length is 0
2020-04-14 21:21:52 +03:00
toasted-nutbread
bf971be15b
Merge pull request #444 from toasted-nutbread/unused-globals
...
Check for unused globals as part of CI
2020-04-13 18:55:19 -04:00
siikamiika
f93dc85710
assume and propagate strings for text parsing
2020-04-13 22:55:33 +03:00
siikamiika
c613321a73
move QueryParser.parseText to Backend
2020-04-13 14:53:24 +03:00
toasted-nutbread
ebfc7ca945
Pass anki reference to AnkiNoteBuilder constructor
2020-04-12 12:46:32 -04:00
toasted-nutbread
4c2ca82a29
Use single instance of AnkiConnect
2020-04-12 12:38:33 -04:00
toasted-nutbread
51e17b35e3
Convert some util* functions into api* functions
2020-04-11 15:25:19 -04:00
toasted-nutbread
a864cf094f
Merge pull request #437 from toasted-nutbread/backend-api-handler-changes
...
Backend api handler changes
2020-04-11 11:32:52 -04:00
toasted-nutbread
a296c758b9
apiBroadcast => apiBroadcastTab
2020-04-10 20:00:18 -04:00
toasted-nutbread
d164fc6f62
Remove unused globals
2020-04-10 18:45:23 -04:00
4e5029f7ec
Update license author field to broader to explicitly reflect that
...
Yomichan is an ongoing community project. It really does take a village,
and everyone who contributes code owns a part of it :)
2020-04-10 11:10:21 -07:00
toasted-nutbread
c88ec43ad1
Fix yomichanCoreReady waiting for a response
2020-04-07 19:59:10 -04:00
toasted-nutbread
a2b66dc6cc
Rename apiForward to apiBroadcast
2020-04-07 19:51:39 -04:00
toasted-nutbread
96566b8581
Update forward to be synchronous and ignore the reply
2020-04-07 19:49:54 -04:00
toasted-nutbread
038e43d19d
Update some API handlers to be synchronous
2020-04-07 19:47:46 -04:00
toasted-nutbread
82462edce0
Add support for API handlers to be optionally asynchronous
2020-04-07 19:41:02 -04:00
toasted-nutbread
8a419dfa67
Pass AudioSystem instance to AnkiNoteBuilder constructor
2020-04-07 19:04:47 -04:00
toasted-nutbread
efcdff72a3
Move media injection functions into AnkiNoteBuilder
2020-04-07 19:04:47 -04:00
toasted-nutbread
059db280bb
Add custom context object for note creation
2020-04-06 18:20:04 -04:00
toasted-nutbread
8b07a23de9
Rename context to details
2020-04-06 18:20:04 -04:00
toasted-nutbread
9052ab8ebd
Move dictionary import functionality into a new class
2020-03-30 20:51:20 -04:00
toasted-nutbread
02f7763f00
Add importDictionary function to Backend
2020-03-30 20:45:36 -04:00
toasted-nutbread
c193a703cc
Move database creation into Backend
2020-03-30 20:39:04 -04:00
toasted-nutbread
0f15cca2df
Convert Japanese utilities to a module-like style
2020-03-15 22:24:30 -04:00
toasted-nutbread
64fc0349a1
Update global declarations
2020-03-10 22:40:35 -04:00
toasted-nutbread
36c55f0b17
Merge pull request #401 from toasted-nutbread/audio-refactor
...
Audio refactor
2020-03-10 19:20:34 -04:00
toasted-nutbread
0cbf427ab5
Update argument order
2020-03-09 21:00:57 -04:00
siikamiika
0112dbab33
fix searchQueryUpdate
2020-03-09 04:06:31 +02:00
toasted-nutbread
aad4ab5ecc
Rename audio functions using "url" to use "uri"
2020-03-07 21:57:26 -05:00
toasted-nutbread
391f3dd29a
Update how audio URIs are built
2020-03-07 21:57:26 -05:00
toasted-nutbread
21d194d145
Make _audioInject internal to Backend
2020-03-07 21:56:15 -05:00
toasted-nutbread
7ac1c843a9
Use dependency injection for apiTemplateRender
2020-03-07 21:47:48 -05:00
toasted-nutbread
69cce49b0d
Move Anki note generation functionality into a new class
2020-03-07 21:46:59 -05:00
toasted-nutbread
a8eb50d96f
Use dependency injection for getAudioUri implementation
2020-03-07 21:43:51 -05:00
toasted-nutbread
cadcd72fad
Use AudioSystem in Backend
2020-03-07 21:42:18 -05:00
toasted-nutbread
b8eb5e6016
Merge pull request #397 from toasted-nutbread/clipboard-monitor-refactor2
...
Clipboard monitor refactor
2020-03-07 21:41:45 -05:00
toasted-nutbread
eea9dc68b9
Fix runtime.lastError error on startup in Firefox
2020-03-07 17:41:57 -05:00
toasted-nutbread
93aa275d82
Use explicit dependency injection for ClipboardMonitor
2020-03-07 10:47:30 -05:00
toasted-nutbread
7822230b7f
Use events for ClipboardMonitor
2020-03-07 10:41:31 -05:00
siikamiika
de8d9e6bf1
fix return type
2020-03-04 05:28:22 +02:00
siikamiika
9ceb663f29
add missing runtime message for backendPrepared
2020-03-03 00:05:01 +02:00
siikamiika
e6347a94e7
prepare Backend for browser_action
2020-03-02 23:26:55 +02:00
siikamiika
e0edb30efd
fix Backend prepare issues in settings
2020-03-02 11:18:09 +02:00
siikamiika
bd48d2f919
fix Yomichan core message issues
2020-03-02 10:35:46 +02:00
siikamiika
967e99b7f6
ensure Backend prepare in other places
2020-03-02 04:51:45 +02:00
siikamiika
e6e5f23cf8
fix API calls when Backend isn't ready yet
2020-03-02 00:39:15 +02:00
siikamiika
2abf46b6fa
simplify backend prepare
2020-03-01 23:06:37 +02:00
toasted-nutbread
8e29da0c6b
Load default Anki field templates from a file
2020-02-27 20:33:13 -05:00
toasted-nutbread
8bc1a40914
Use .bind instead of () => {}
2020-02-26 21:01:40 -05:00
toasted-nutbread
8d5d034516
Move event handler definitions
2020-02-26 19:22:32 -05:00
toasted-nutbread
b391704f3d
Use for of
2020-02-25 22:13:06 -05:00
toasted-nutbread
7b97138ad1
Changed type returned by apiTextParseMecab to avoid using for in
2020-02-25 22:13:03 -05:00
siikamiika
a0d5d9a821
fix opening options in new tab
2020-02-26 01:54:40 +02:00
toasted-nutbread
7697643966
Reject with a consistent error
2020-02-23 11:59:57 -05:00
toasted-nutbread
c0d91bffc4
Add no-shadow
2020-02-22 14:53:02 -05:00
toasted-nutbread
6d75637ace
Fix brace style issues
2020-02-22 14:52:08 -05:00
toasted-nutbread
b6718dc4a4
Use findTerms instead of findTermsInternal
2020-02-22 14:43:06 -05:00
toasted-nutbread
0f46e3a093
Use a token to ensure that messages are coming from Yomichan
2020-02-17 11:02:21 -05:00
toasted-nutbread
e173a71ba6
Fix CSS injection on about:blank pages
2020-02-16 21:46:13 -05:00