| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Use ES modules
- Remove vendored libs and build them from npm using esbuild
- Switch from JSZip to zip.js
|
| |
|
|
|
|
| |
this is the only blocker to Firefox for Android.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
firefox was previously unable to use declarativeNetRequest, as some
browser state (ExtensionDNRStore) wasn't correctly initialized wrt
yomitan's use of the DNR API. this bug manifested as an unexpected
error on calls to updateDynamicRules(), specifically after the browser
has been restarted.
switching to the use of session rules instead of dynamic rules fixes
this bug. i have tested audio info requests (custom JSON, JPod
Alternate, Jisho) that exhibited the bug after browser restart on
version 115 and 118, and the audio plays instead of the request
failing.
webRequest can now be entirely removed.
|
|
|
|
|
|
| |
session rules are less persistent than dynamic rules, and the
intention of RequestBuilder is to only have rules active for the
lifetime of specific requests.
|
|
|
|
| |
dynamic rules were never cleared, as the promise is not iterable as expected.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_optionsUtil.save() is only called in _saveOptions, which is only
called through
- _onApiSetAllSettings
- _onApiModifySettings
- _onCommandToggleTextScanning
it should be safe to simply save settings after updating them.
without saving, the options will be updated every time the background
restarts, until any settings are modified or text scanning is
toggled. for _updateVersion21, this means the welcome page will open
repeatedly to show the same warning.
|
|\
| |
| |
| | |
Block helper rewrite
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
joining the args together without cutting out the options arg can add
an '[object Object]' into the result.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
implement getImage for offscreen requests
move offscreen files, offscreen prep is done in sw prep
update permissions document for offscreen
rearrange permissions
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
on chromium, backend calls to clipboardGet are forwarded to an offscreen script
|
|
|
|
| |
this is based on forsakeninfinity's commit https://github.com/forsakeninfinity/yomibaba/commit/c9887d51ed5c917bb900d7964614154de1d76872
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
when the background script starts, it sends a
`Yomichan.optionsUpdated` message which is retransmitted
indiscriminately.
- popups are all torn down/refreshed
- the search bar on the search page can lose state
- if a popup has been loaded on the search page, the search page can
redirect/refresh
- options being edited can lose state and the options page can refresh
|
|\
| |
| |
| | |
Fix Chrome death, by creating both cross-frame ports in the background
|
| |
| |
| |
| |
| | |
not sure if API messages should be sent in prepare(), but we should
probably wait for the ready signal before doing so
|
| | |
|
| |
| |
| |
| |
| |
| | |
it was only used in the cross-frame api.
additionally, this comment on triggerExtensionUnloaded is incorrect.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
on Chrome (currently 117), the port created in the content script with
runtime.connect does not properly receive an onDisconnect event when
the service worker sleeps. the port created in the background with
tabs.connect does receive the event, so create both ports with
tabs.connect.
fixes #241.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
this line serves no purpose. the commit it was introduced in has the
message 'Document RequestBuilder' and is the only non-documentary line
in the commit.
related to #204.
|
| |
|
|
|
|
|
| |
the API accepts string literals, which is all this enum provides. This
should fix two warnings in #96.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Firefox added the scripting API in 102. This should fix the majority
of warnings listed in #96:
- insertCSS
- executeScript
- getRegisteredContentScripts
- contentScripts.register
- registerContentScripts
- unregisterContentScripts
|
|
|
|
|
|
|
|
| |
It's super annoying to have to import dictionaries one at a time every
time you move across browsers or devices. This change adds an
experimental mechanism to export and import the entire database of
dictionaries so that users have to deal with only one source instead of
tracking tens of different dictionaries separately when migrating.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|