-
-
Notifications
You must be signed in to change notification settings - Fork 24
feat: Manifest v3 support, add communciation with JabRef via HTTP #624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
78 commits
Select commit
Hold shift + click to select a range
354bc3a
Initial commit
LyzardKing fd27061
Simple working version
LyzardKing eeab5fc
Working version
LyzardKing ecaf675
Remove buttons
LyzardKing 2fb0dd4
Update readme
LyzardKing da5a97c
Remove old commented code
LyzardKing c14be20
Working on firefox with hidden iframe
LyzardKing ef5141b
Remove duplicate code
LyzardKing 9d4c789
Refactor and remove unnecessary code.
LyzardKing d14a597
update readme
LyzardKing cab5f25
Replace Websocket with HTTP server connection
LyzardKing 86dc1af
Add error log on failure to connect
LyzardKing 1550748
Fix web-ext lint
LyzardKing 1f84f8f
Add documentation readme
LyzardKing 66b6764
Rename repo to JabRef-Browser-Extension
LyzardKing 1bb6998
Fix README title and formatting issues
koppor 1e7fe36
Update Readme, fix exec bit on python script, refine gitignore
Siedlerchr bd3e38a
Merge pull request #5 from JabRef/fixPython
Siedlerchr f3e1702
Remove node-fetch dependency
LyzardKing 5236b38
Fix try catch
LyzardKing 7aeb907
Add simple test. Only run arXiv
LyzardKing c57e47a
Fetch translators in action
LyzardKing f7ee503
Merge pull request #6 from JabRef/test_isolation
koppor 622adbe
Add dependabot config (#3)
Siedlerchr c2c41e9
Bump translators/zotero from `c7551c1` to `b91223a` (#7)
dependabot[bot] 2343b3b
Replace jabref icon and descriptions
Siedlerchr 3dda587
Merge pull request #11 from JabRef/logo
Siedlerchr 8cf072a
Updates from 2025 extension (#8)
koppor f87eb5b
Add a local cache for the tests. (#15)
LyzardKing 9281b03
Collect centrallly at JabRef e.V.
koppor 91fdb44
Full submodule only (#14)
koppor 8bb0afd
Reduce run tests
koppor e589d34
Change from chrome to promise based browser api (#19)
LyzardKing 30e0d03
Merge remote-tracking branch 'fresh/main' into merge-fresh
tobiasdiez 24f7489
Merge `assets` into `data`
tobiasdiez 43a4404
Remove now unused files
tobiasdiez fcab44d
chore: add web-ext as dependency and fix its config
tobiasdiez d43ce81
chore: add `lint` alias
tobiasdiez 28b1d7e
chore: migrate to pnpm
tobiasdiez 6262aaa
chore: migrate to oxlint
tobiasdiez 1598d08
chore: fix linter
tobiasdiez 0189c23
chore: migrate to oxfmt and reformat all files
tobiasdiez d56f8a9
feat: add http connection check to options page
tobiasdiez c8a7568
feat: restore translator detection upon website load and toggling of …
tobiasdiez 8e5e6b9
chore: merge old and new popup scripts
tobiasdiez b0e9811
chore: remove unneeded files
tobiasdiez e8af95c
chore: remove notion of 'legacy translators'
tobiasdiez ed16945
Migrate to zotero-translate and zotero-utilities
tobiasdiez bc0cb7d
remove ris
tobiasdiez 0b12a94
fix: make sure all translators can be imported (and add tests for it)
tobiasdiez 71d61c9
feat: add esm exports for Zotero translators (and corresponding tests)
tobiasdiez 81a0ee8
fix: use DOMParser from browser (and mock it in tests)
tobiasdiez d3220c9
feat: convert to bibtex code using Zotero exporter
tobiasdiez 0f62c5b
feat: send bibtex to JabRef via HTTP and Native Messaging as fallback
tobiasdiez 087ead9
fix: update browser extension id in manifest.json
tobiasdiez 161805c
chore: fix linter
tobiasdiez f9b450e
chore: use pnpm in gh
tobiasdiez e2b9ad1
chore: don't format zotero submodules
tobiasdiez 26d7129
chore: fix submodules
tobiasdiez 81c0407
fix: update zotero-utilities submodule to include custom import fix o…
tobiasdiez 5818e62
chore: remove dead code
tobiasdiez 7c01516
chore: update vscode setting to add cSpell words and chat auto-approve
tobiasdiez f7935c8
chore: update Zotero submodules
tobiasdiez 4c2aebb
fix: add missing web request interception functionality
tobiasdiez 3256f64
chore: don't run zotero update script in gh tests
tobiasdiez 04113eb
fix: run `detect` step also in the content script
tobiasdiez 1e3ea6c
chore: fix linter
tobiasdiez c4468c5
chore: skip last failing test until PR is merged
tobiasdiez f767427
fix: correctly handle special headers (Referer, Origin)
tobiasdiez c66acb4
chore: fix linter
tobiasdiez 2fa1f4f
feat: add Zotero date initialization
tobiasdiez 8813c4d
fix: expose `exports` from translator in sandbox
tobiasdiez 9c1cc09
chore: remove unused citation-related elements from progress panel
tobiasdiez 6da5e1d
chore: update contributing guidelines and move them to `Contributing.md`
tobiasdiez bbd7754
fix: use correct method for error handling
tobiasdiez 19557a7
chore: remove unused ESLint dependencies
tobiasdiez 25734e0
chore: remove commented-out import statements
tobiasdiez 84dd999
fix: ensure translator paths are validated and correctly assigned
tobiasdiez File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,2 @@ | ||
| github: [tobiasdiez, JabRef] | ||
| custom: ['https://github.com/JabRef/jabref/wiki/Donations'] | ||
| custom: ["https://github.com/JabRef/jabref/wiki/Donations"] | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,19 +1,27 @@ | ||
| # Basic `dependabot.yml` file with | ||
| # minimum configuration for three package managers | ||
|
|
||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: npm | ||
| directory: "/" | ||
| schedule: | ||
| interval: weekly | ||
| day: friday | ||
| time: "18:00" | ||
| open-pull-requests-limit: 10 | ||
| labels: | ||
| - type:dependency | ||
| - package-ecosystem: "github-actions" | ||
| directory: "/" | ||
| schedule: | ||
| interval: weekly | ||
| day: friday | ||
| time: "18:00" | ||
| labels: | ||
| - type:dependency | ||
| # Enable version updates for npm | ||
| - package-ecosystem: "npm" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| day: sunday | ||
|
|
||
| # Enable version updates for GitHub Actions | ||
| - package-ecosystem: "github-actions" | ||
| # Workflow files stored in the default location of `.github/workflows` | ||
| # You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`. | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| day: sunday | ||
|
|
||
| - package-ecosystem: "gitsubmodule" | ||
| directory: "/" | ||
| schedule: | ||
| interval: weekly | ||
| day: sunday | ||
| labels: [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,33 @@ | ||
| name: Lint test | ||
| on: [push] | ||
| name: Lint | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| pull_request: | ||
| merge_group: | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| run: | ||
| name: Run | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v3 | ||
| - uses: actions/setup-node@v3 | ||
| with: | ||
| node-version: 'lts/*' | ||
| cache: 'npm' | ||
| - run: npm install | ||
| - run: $(npm bin)/web-ext lint --self-hosted | ||
| - uses: actions/checkout@v6 | ||
| with: | ||
| submodules: recursive | ||
|
|
||
| - name: Install pnpm | ||
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 | ||
| with: | ||
| node-version: 24.11.0 | ||
| cache: "pnpm" | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install | ||
|
|
||
| - name: Run linter | ||
| run: pnpm lint |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| name: Tests | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
| merge_group: | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| test: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
| with: | ||
| submodules: true | ||
|
|
||
| - name: Install pnpm | ||
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | ||
|
|
||
| - name: Setup Node.js | ||
| uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 | ||
| with: | ||
| node-version: 24.14.0 | ||
| cache: "pnpm" | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install | ||
|
|
||
| - name: Run tests | ||
| run: pnpm test |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| [submodule "translators/zotero"] | ||
| path = translators/zotero | ||
| url = https://github.com/tobiasdiez/translators.git | ||
| [submodule "sources/zotero-translate"] | ||
| path = sources/zotero-translate | ||
| url = https://github.com/tobiasdiez/translate.git | ||
| [submodule "sources/zotero-utilities"] | ||
| path = sources/zotero-utilities | ||
| url = https://github.com/tobiasdiez/utilities.git |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| { | ||
| "$schema": "./node_modules/oxfmt/configuration_schema.json", | ||
| "ignorePatterns": ["translators/zotero/**", "sources/zotero-*/**"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,144 @@ | ||
| { | ||
| "$schema": "./node_modules/oxlint/configuration_schema.json", | ||
| "plugins": ["unicorn", "typescript", "oxc"], | ||
| "categories": {}, | ||
| "rules": { | ||
| "constructor-super": "warn", | ||
| "for-direction": "warn", | ||
| "no-async-promise-executor": "warn", | ||
| "no-caller": "warn", | ||
| "no-class-assign": "warn", | ||
| "no-compare-neg-zero": "warn", | ||
| "no-cond-assign": "warn", | ||
| "no-const-assign": "warn", | ||
| "no-constant-binary-expression": "warn", | ||
| "no-constant-condition": "warn", | ||
| "no-control-regex": "warn", | ||
| "no-debugger": "warn", | ||
| "no-delete-var": "warn", | ||
| "no-dupe-class-members": "warn", | ||
| "no-dupe-else-if": "warn", | ||
| "no-dupe-keys": "warn", | ||
| "no-duplicate-case": "warn", | ||
| "no-empty-character-class": "warn", | ||
| "no-empty-pattern": "warn", | ||
| "no-empty-static-block": "warn", | ||
| "no-eval": "warn", | ||
| "no-ex-assign": "warn", | ||
| "no-extra-boolean-cast": "warn", | ||
| "no-func-assign": "warn", | ||
| "no-global-assign": "warn", | ||
| "no-import-assign": "warn", | ||
| "no-invalid-regexp": "warn", | ||
| "no-irregular-whitespace": "warn", | ||
| "no-loss-of-precision": "warn", | ||
| "no-new-native-nonconstructor": "warn", | ||
| "no-nonoctal-decimal-escape": "warn", | ||
| "no-obj-calls": "warn", | ||
| "no-self-assign": "warn", | ||
| "no-setter-return": "warn", | ||
| "no-shadow-restricted-names": "warn", | ||
| "no-sparse-arrays": "warn", | ||
| "no-this-before-super": "warn", | ||
| "no-unassigned-vars": "warn", | ||
| "no-unsafe-finally": "warn", | ||
| "no-unsafe-negation": "warn", | ||
| "no-unsafe-optional-chaining": "warn", | ||
| "no-unused-expressions": "warn", | ||
| "no-unused-labels": "warn", | ||
| "no-unused-private-class-members": "warn", | ||
| "no-unused-vars": "warn", | ||
| "no-useless-backreference": "warn", | ||
| "no-useless-catch": "warn", | ||
| "no-useless-escape": "warn", | ||
| "no-useless-rename": "warn", | ||
| "no-with": "warn", | ||
| "require-yield": "warn", | ||
| "use-isnan": "warn", | ||
| "valid-typeof": "warn", | ||
| "oxc/bad-array-method-on-arguments": "warn", | ||
| "oxc/bad-char-at-comparison": "warn", | ||
| "oxc/bad-comparison-sequence": "warn", | ||
| "oxc/bad-min-max-func": "warn", | ||
| "oxc/bad-object-literal-comparison": "warn", | ||
| "oxc/bad-replace-all-arg": "warn", | ||
| "oxc/const-comparisons": "warn", | ||
| "oxc/double-comparisons": "warn", | ||
| "oxc/erasing-op": "warn", | ||
| "oxc/missing-throw": "warn", | ||
| "oxc/number-arg-out-of-range": "warn", | ||
| "oxc/only-used-in-recursion": "warn", | ||
| "oxc/uninvoked-array-callback": "warn", | ||
| "typescript/await-thenable": "warn", | ||
| "typescript/no-array-delete": "warn", | ||
| "typescript/no-base-to-string": "warn", | ||
| "typescript/no-duplicate-enum-values": "warn", | ||
| "typescript/no-duplicate-type-constituents": "warn", | ||
| "typescript/no-extra-non-null-assertion": "warn", | ||
| "typescript/no-floating-promises": "warn", | ||
| "typescript/no-for-in-array": "warn", | ||
| "typescript/no-implied-eval": "warn", | ||
| "typescript/no-meaningless-void-operator": "warn", | ||
| "typescript/no-misused-new": "warn", | ||
| "typescript/no-misused-spread": "warn", | ||
| "typescript/no-non-null-asserted-optional-chain": "warn", | ||
| "typescript/no-redundant-type-constituents": "warn", | ||
| "typescript/no-this-alias": "warn", | ||
| "typescript/no-unnecessary-parameter-property-assignment": "warn", | ||
| "typescript/no-unsafe-declaration-merging": "warn", | ||
| "typescript/no-unsafe-unary-minus": "warn", | ||
| "typescript/no-useless-empty-export": "warn", | ||
| "typescript/no-wrapper-object-types": "warn", | ||
| "typescript/prefer-as-const": "warn", | ||
| "typescript/require-array-sort-compare": "warn", | ||
| "typescript/restrict-template-expressions": "warn", | ||
| "typescript/triple-slash-reference": "warn", | ||
| "typescript/unbound-method": "warn", | ||
| "unicorn/no-await-in-promise-methods": "warn", | ||
| "unicorn/no-empty-file": "warn", | ||
| "unicorn/no-invalid-fetch-options": "warn", | ||
| "unicorn/no-invalid-remove-event-listener": "warn", | ||
| "unicorn/no-new-array": "warn", | ||
| "unicorn/no-single-promise-in-promise-methods": "warn", | ||
| "unicorn/no-thenable": "warn", | ||
| "unicorn/no-unnecessary-await": "warn", | ||
| "unicorn/no-useless-fallback-in-spread": "warn", | ||
| "unicorn/no-useless-length-check": "warn", | ||
| "unicorn/no-useless-spread": "warn", | ||
| "unicorn/prefer-set-size": "warn", | ||
| "unicorn/prefer-string-starts-ends-with": "warn" | ||
| }, | ||
| "settings": { | ||
| "jsx-a11y": { | ||
| "polymorphicPropName": null, | ||
| "components": {}, | ||
| "attributes": {} | ||
| }, | ||
| "next": { | ||
| "rootDir": [] | ||
| }, | ||
| "react": { | ||
| "formComponents": [], | ||
| "linkComponents": [], | ||
| "version": null | ||
| }, | ||
| "jsdoc": { | ||
| "ignorePrivate": false, | ||
| "ignoreInternal": false, | ||
| "ignoreReplacesDocs": true, | ||
| "overrideReplacesDocs": true, | ||
| "augmentsExtendsReplacesDocs": false, | ||
| "implementsReplacesDocs": false, | ||
| "exemptDestructuredRootsFromChecks": false, | ||
| "tagNamePreference": {} | ||
| }, | ||
| "vitest": { | ||
| "typecheck": false | ||
| } | ||
| }, | ||
| "env": { | ||
| "builtin": true | ||
| }, | ||
| "globals": {}, | ||
| "ignorePatterns": ["translators/zotero/**"] | ||
| } |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| { | ||
| "recommendations": ["oxc.oxc-vscode"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,17 +1,17 @@ | ||
| { | ||
| "version": "0.2.0", | ||
| "configurations": [ | ||
| { | ||
| "name": "Launch WebExtension", | ||
| "type": "firefox", | ||
| "request": "launch", | ||
| "reAttach": true, | ||
| "reloadOnChange": { | ||
| "watch": "${workspaceFolder}/**/*.js", | ||
| "ignore": ["**/node_modules/**", "{workspaceFolder}/zotero-connectors/**"] | ||
| }, | ||
| "addonPath": "${workspaceFolder}", | ||
| "firefoxArgs": ["https://arxiv.org/a/diez_t_1.html", "about:debugging#/runtime/this-firefox"] | ||
| } | ||
| ] | ||
| "version": "0.2.0", | ||
| "configurations": [ | ||
| { | ||
| "name": "Launch WebExtension", | ||
| "type": "firefox", | ||
| "request": "launch", | ||
| "reAttach": true, | ||
| "reloadOnChange": { | ||
| "watch": "${workspaceFolder}/**/*.js", | ||
| "ignore": ["**/node_modules/**"] | ||
| }, | ||
| "addonPath": "${workspaceFolder}", | ||
| "firefoxArgs": ["https://arxiv.org/a/diez_t_1.html", "about:debugging#/runtime/this-firefox"] | ||
| } | ||
| ] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| { | ||
| "editor.defaultFormatter": "oxc.oxc-vscode", | ||
| "editor.formatOnSave": true, | ||
| "editor.formatOnSaveMode": "file", | ||
| "[json]": { | ||
| "editor.defaultFormatter": "oxc.oxc-vscode" | ||
| }, | ||
| "[html]": { | ||
| "editor.defaultFormatter": "oxc.oxc-vscode" | ||
| }, | ||
| "[css]": { | ||
| "editor.defaultFormatter": "oxc.oxc-vscode" | ||
| }, | ||
| "[javascript]": { | ||
| "editor.defaultFormatter": "oxc.oxc-vscode" | ||
| }, | ||
| "cSpell.words": ["Zotero"], | ||
| "chat.tools.terminal.autoApprove": { | ||
| "/^python scripts/import_and_patch_translators\\.py$/": { | ||
| "approve": true, | ||
| "matchCommandLine": true | ||
| } | ||
| } | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@LyzardKing based on your previous contributions to the extension and your work now, it would only be fair to list you here as well. For this you would need to setup a github sponsors account. (Disclaimer: don't expect any real money via this channel but maybe someone is so kind and will pay you a coffee ;-))