| 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.
|
| |
|
|
|
|
|
|
|
| |
`webRequest` is used on Chrome/MV3 to surface error information from
failed requests. it was added back to the declarative path by
toasted-nutbread in FooSoft/yomichan#2161, but the permissions
documentation did not reflect `webRequests` continued necessity.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_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.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | | |
Fix chromium clipboard access
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |
|
|\
| |
| |
| | |
dexie: use blobs obtained from unpkg and update library README
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
| |
* Dynamically set version as argument to build script
* Set version using tag ref_name in CI
* [Cleanup] gitignore ext/manifest.json as it's dynamically generated
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|