FooSoft / yomichan

Japanese pop-up dictionary extension for Chrome and Firefox.
https://foosoft.net/projects/yomichan
Other
1.06k stars 223 forks source link

October 2021 Release #1997

Closed toasted-nutbread closed 2 years ago

toasted-nutbread commented 2 years ago

https://github.com/FooSoft/yomichan/releases/tag/21.10.31.1

General

Testing

Stable

Issues to address before stable

FooSoft commented 2 years ago

Updated testing release

VKen commented 2 years ago

Hi @FooSoft , thanks for maintaining Yomichan!

I got a report on issues about this release. Currently, I am running version 21.10.31.0 updated on November 8, 2021. The middle-click to open yomi-chan on japanese text is broken. Broken = the yomichan minibox flash for 0.3 seconds and disappeared.

The way I triggered it: jisho.org any japanese text, more than 1 time. Beyond one time, it'll start the "flash" of box.

To reproduce, you may do the same as above.

Let me know how I can produce some logs that may be helpful for debugging.

toasted-nutbread commented 2 years ago

Can you export your settings file from the settings page and share it here?

VKen commented 2 years ago

Can you export your settings file from the settings page and share it here?

Sure, @toasted-nutbread , I'll share here.

JSON ``` { "version": 0, "date": "2021-11-10 04:59:40", "url": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/", "manifest": { "applications": null, "author": "Alex Yatskov", "browser_specific_settings": { "edge": null, "gecko": { "id": "alex.testing@foosoft.net", "strict_max_version": null, "strict_min_version": "57.0", "update_url": "https://foosoft.net/projects/yomichan/dl/updates.json" } }, "description": "Japanese dictionary with Anki integration. This is a development build; get the stable version here: https://tinyurl.com/yaatdjmp", "homepage_url": null, "manifest_version": 2, "name": "Yomichan (development build)", "short_name": null, "version": "21.10.31.0", "background": { "page": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/background.html", "persistent": true }, "content_scripts": [ { "all_frames": true, "css": null, "exclude_globs": null, "exclude_matches": null, "include_globs": null, "js": [ "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/core.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/yomichan.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/frontend.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/popup.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/popup-factory.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/popup-proxy.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/popup-window.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/comm/api.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/comm/cross-frame-api.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/comm/frame-ancestry-handler.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/comm/frame-client.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/comm/frame-offset-forwarder.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/dom/dom-text-scanner.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/dom/document-util.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/dom/text-source-element.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/dom/text-source-range.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/input/hotkey-handler.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/language/text-scanner.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/script/dynamic-loader.js", "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/app/content-script-main.js" ], "match_about_blank": true, "matches": [ "http://*/*", "https://*/*", "file://*/*" ], "run_at": "document_idle" }, { "all_frames": true, "css": null, "exclude_globs": null, "exclude_matches": null, "include_globs": null, "js": [ "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/js/document-start.js" ], "match_about_blank": true, "matches": [ "http://docs.google.com/*", "https://docs.google.com/*" ], "run_at": "document_start" } ], "content_security_policy": "default-src 'self'; script-src 'self' 'unsafe-eval'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *", "developer": null, "hidden": false, "icons": { "16": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon16.png", "19": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon19.png", "32": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon32.png", "38": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon38.png", "48": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon48.png", "64": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon64.png", "128": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon128.png" }, "incognito": "spanning", "minimum_chrome_version": "57.0.0.0", "minimum_opera_version": null, "optional_permissions": [ "clipboardRead" ], "options_ui": { "browser_style": true, "chrome_style": null, "open_in_tab": true, "page": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/settings.html" }, "permissions": [ "", "storage", "clipboardWrite", "unlimitedStorage", "webRequest", "webRequestBlocking", "nativeMessaging" ], "web_accessible_resources": [ "popup.html" ], "browser_action": { "browser_style": false, "default_area": null, "default_icon": { "16": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon16.png", "19": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon19.png", "32": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon32.png", "38": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon38.png", "48": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon48.png", "64": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon64.png", "128": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/images/icon128.png" }, "default_popup": "moz-extension://659b7531-8797-49f0-8422-2aec56e08527/action-popup.html", "default_title": "Yomichan", "theme_icons": null }, "chrome_settings_overrides": null, "commands": { "toggleTextScanning": { "description": "Toggle text scanning on/off", "suggested_key": { "additionalProperties": null, "android": null, "chromeos": null, "default": "Alt+Delete", "ios": null, "linux": null, "mac": null, "windows": null } }, "openInfoPage": { "description": "Open the info page", "suggested_key": null }, "openSettingsPage": { "description": "Open the settings page", "suggested_key": null }, "openSearchPage": { "description": "Open the search page", "suggested_key": { "additionalProperties": null, "android": null, "chromeos": null, "default": "Alt+Insert", "ios": null, "linux": null, "mac": null, "windows": null } }, "openPopupWindow": { "description": "Open the popup window", "suggested_key": null } }, "devtools_page": null, "omnibox": null, "page_action": null, "sidebar_action": null, "chrome_url_overrides": null, "default_locale": null, "l10n_resources": null, "protocol_handlers": null, "telemetry": null, "theme_experiment": null, "user_scripts": null, "experiment_apis": null }, "environment": { "browser": "firefox", "platform": { "os": "linux" } }, "userAgent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0", "permissions": { "origins": [ "" ], "permissions": [ "storage", "clipboardWrite", "unlimitedStorage", "webRequest", "webRequestBlocking", "nativeMessaging", "clipboardRead" ] }, "options": { "profiles": [ { "name": "Default", "options": { "general": { "enable": true, "resultOutputMode": "group", "debugInfo": false, "maxResults": 50, "showAdvanced": true, "popupDisplayMode": "default", "popupWidth": 400, "popupHeight": 250, "popupHorizontalOffset": 0, "popupVerticalOffset": 10, "popupHorizontalOffset2": 10, "popupVerticalOffset2": 0, "popupHorizontalTextPosition": "below", "popupVerticalTextPosition": "before", "popupScalingFactor": 1, "popupScaleRelativeToPageZoom": false, "popupScaleRelativeToVisualViewport": true, "showGuide": false, "compactTags": true, "mainDictionary": "三省堂 スーパー大辞林", "popupTheme": "dark", "popupOuterTheme": "dark", "customPopupCss": "", "customPopupOuterCss": "", "enableWanakana": true, "showPitchAccentDownstepNotation": true, "showPitchAccentPositionNotation": true, "showPitchAccentGraph": true, "showIframePopupsInRootFrame": true, "useSecurePopupFrameUrl": true, "usePopupShadowDom": true, "usePopupWindow": false, "glossaryLayoutMode": "compact", "popupCurrentIndicatorMode": "triangle", "popupActionBarVisibility": "auto", "popupActionBarLocation": "top", "frequencyDisplayMode": "split-tags-grouped", "termDisplayMode": "ruby", "sortFrequencyDictionary": null, "sortFrequencyDictionaryOrder": "descending" }, "audio": { "enabled": true, "sources": [ { "type": "jpod101", "url": "", "voice": "" }, { "type": "jpod101-alternate", "url": "", "voice": "" }, { "type": "jisho", "url": "", "voice": "" } ], "volume": 100, "autoPlay": false }, "scanning": { "touchInputEnabled": true, "selectText": true, "alphanumeric": false, "autoHideResults": false, "delay": 20, "length": 10, "deepDomScan": true, "popupNestingMaxDepth": 2, "enablePopupSearch": true, "enableOnPopupExpressions": true, "enableOnSearchPage": true, "enableSearchTags": true, "layoutAwareScan": true, "hideDelay": 0, "pointerEventsEnabled": false, "preventMiddleMouse": { "onWebPages": false, "onPopupPages": false, "onSearchPages": false, "onSearchQuery": false }, "inputs": [ { "include": "alt", "exclude": "mouse0", "types": { "mouse": true, "touch": false, "pen": false }, "options": { "showAdvanced": false, "searchTerms": true, "searchKanji": true, "scanOnTouchMove": true, "scanOnPenHover": true, "scanOnPenPress": true, "scanOnPenRelease": false, "preventTouchScrolling": true } }, { "include": "mouse2", "exclude": "", "types": { "mouse": true, "touch": false, "pen": false }, "options": { "showAdvanced": false, "searchTerms": true, "searchKanji": true, "scanOnTouchMove": true, "scanOnPenHover": true, "scanOnPenPress": true, "scanOnPenRelease": false, "preventTouchScrolling": true } }, { "include": "", "exclude": "", "types": { "mouse": false, "touch": true, "pen": true }, "options": { "showAdvanced": false, "searchTerms": true, "searchKanji": true, "scanOnTouchMove": true, "scanOnPenHover": true, "scanOnPenPress": true, "scanOnPenRelease": false, "preventTouchScrolling": true } } ] }, "translation": { "convertHalfWidthCharacters": "false", "convertNumericCharacters": "false", "convertAlphabeticCharacters": "false", "convertHiraganaToKatakana": "false", "convertKatakanaToHiragana": "variant", "collapseEmphaticSequences": "false", "textReplacements": { "searchOriginal": true, "groups": [] } }, "dictionaries": [ { "name": "三省堂 スーパー大辞林", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "広辞苑第六版, 付属資料", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "明鏡国語辞典", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "新明解国語辞典 第五版", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "大辞泉", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "Anime & Jdrama Freq:", "priority": 1, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "学研国語大辞典, 古語辞典, 故事ことわざ辞典, 学研漢和大字典", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "Innocent Corpus", "priority": 2, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "JMdict (English)", "priority": 4, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "JMnedict", "priority": 3, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "KANJIDIC (English)", "priority": 1, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "Kanjium Pitch Accents", "priority": 1, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "研究社 新和英大辞典 第5版", "priority": 1, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" }, { "name": "KireiCake", "priority": 2, "enabled": true, "allowSecondarySearches": false, "definitionsCollapsible": "not-collapsible" }, { "name": "故事ことわざの辞典", "priority": 0, "enabled": true, "allowSecondarySearches": true, "definitionsCollapsible": "not-collapsible" } ], "parsing": { "enableScanningParser": true, "enableMecabParser": false, "selectedParser": "scan", "termSpacing": true, "readingMode": "hiragana" }, "anki": { "enable": true, "server": "http://127.0.0.1:8765", "tags": [ "yomichan" ], "screenshot": { "format": "png", "quality": 92 }, "terms": { "deck": "Default", "model": "Basic", "fields": { "Front": "{expression}", "Back": "

{furigana}

{reading}

{pitch-accents} {pitch-accent-positions} {pitch-accent-graphs}

{sentence}

{glossary} {audio}" } }, "kanji": { "deck": "", "model": "", "fields": {} }, "duplicateScope": "collection", "fieldTemplates": "{{#*inline \"glossary-single\"}}\n {{~#unless brief~}}\n {{~#scope~}}\n {{~#set \"any\" false}}{{/set~}}\n {{~#each definitionTags~}}\n {{~#if (op \"||\" (op \"!\" @root.compactTags) (op \"!\" redundant))~}}\n {{~#if (get \"any\")}}, {{else}}({{/if~}}\n {{name}}\n {{~#set \"any\" true}}{{/set~}}\n {{~/if~}}\n {{~/each~}}\n {{~#unless noDictionaryTag~}}\n {{~#if (op \"||\" (op \"!\" @root.compactTags) (op \"!==\" dictionary (get \"previousDictionary\")))~}}\n {{~#if (get \"any\")}}, {{else}}({{/if~}}\n {{dictionary}}\n {{~#set \"any\" true}}{{/set~}}\n {{~/if~}}\n {{~/unless~}}\n {{~#if (get \"any\")}}) {{/if~}}\n {{~/scope~}}\n {{~#if only~}}({{#each only}}{{.}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}}\n {{~/unless~}}\n {{~#if (op \"<=\" glossary.length 1)~}}\n {{#each glossary}}{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}{{/each}}\n {{~else if @root.compactGlossaries~}}\n {{#each glossary}}{{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}{{#unless @last}} | {{/unless}}{{/each}}\n {{~else~}}\n
    {{#each glossary}}
  • {{#formatGlossary ../dictionary}}{{{.}}}{{/formatGlossary}}
  • {{/each}}
\n {{~/if~}}\n {{~#set \"previousDictionary\" dictionary~}}{{~/set~}}\n{{/inline}}\n\n{{#*inline \"audio\"}}\n {{~#if (hasMedia \"audio\")~}}\n [sound:{{#getMedia \"audio\"}}{{/getMedia}}]\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"character\"}}\n {{~definition.character~}}\n{{/inline}}\n\n{{#*inline \"dictionary\"}}\n {{~definition.dictionary~}}\n{{/inline}}\n\n{{#*inline \"expression\"}}\n {{~#if merge~}}\n {{~#if modeTermKana~}}\n {{~#each definition.reading~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~else~}}\n {{~#each definition.expression~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~/each~}}\n {{~else~}}\n {{~#each definition.expression~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~/if~}}\n {{~else~}}\n {{~#if modeTermKana~}}\n {{~#if definition.reading~}}\n {{definition.reading}}\n {{~else~}}\n {{definition.expression}}\n {{~/if~}}\n {{~else~}}\n {{definition.expression}}\n {{~/if~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"furigana\"}}\n {{~#if merge~}}\n {{~#each definition.expressions~}}\n {{~#furigana}}{{{.}}}{{/furigana~}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{#furigana}}{{{definition}}}{{/furigana}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"furigana-plain\"}}\n {{~#if merge~}}\n {{~#each definition.expressions~}}\n {{~#furiganaPlain}}{{{.}}}{{/furiganaPlain~}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}}\n {{~/if~}}\n{{/inline}}\n\n{{~#*inline \"glossary\"~}}\n
\n {{~#scope~}}\n {{~#if (op \"===\" definition.type \"term\")~}}\n {{~> glossary-single definition brief=brief noDictionaryTag=noDictionaryTag ~}}\n {{~else if (op \"||\" (op \"===\" definition.type \"termGrouped\") (op \"===\" definition.type \"termMerged\"))~}}\n {{~#if (op \">\" definition.definitions.length 1)~}}\n
    {{~#each definition.definitions~}}
  1. {{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag ~}}
  2. {{~/each~}}
\n {{~else~}}\n {{~#each definition.definitions~}}{{~> glossary-single . brief=../brief noDictionaryTag=../noDictionaryTag ~}}{{~/each~}}\n {{~/if~}}\n {{~else if (op \"===\" definition.type \"kanji\")~}}\n {{~#if (op \">\" definition.glossary.length 1)~}}\n
    {{#each definition.glossary}}
  1. {{.}}
  2. {{/each}}
\n {{~else~}}\n {{~#each definition.glossary~}}{{.}}{{~/each~}}\n {{~/if~}}\n {{~/if~}}\n {{~/scope~}}\n
\n{{~/inline~}}\n\n{{#*inline \"glossary-no-dictionary\"}}\n {{~> glossary noDictionaryTag=true ~}}\n{{/inline}}\n\n{{#*inline \"glossary-brief\"}}\n {{~> glossary brief=true ~}}\n{{/inline}}\n\n{{#*inline \"kunyomi\"}}\n {{~#each definition.kunyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}\n{{/inline}}\n\n{{#*inline \"onyomi\"}}\n {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}}\n{{/inline}}\n\n{{#*inline \"reading\"}}\n {{~#unless modeTermKana~}}\n {{~#if merge~}}\n {{~#each definition.reading~}}\n {{{.}}}\n {{~#unless @last}}、{{/unless~}}\n {{~/each~}}\n {{~else~}}\n {{~definition.reading~}}\n {{~/if~}}\n {{~/unless~}}\n{{/inline}}\n\n{{#*inline \"sentence\"}}\n {{~#if definition.cloze}}{{definition.cloze.sentence}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-prefix\"}}\n {{~#if definition.cloze}}{{definition.cloze.prefix}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-body\"}}\n {{~#if definition.cloze}}{{definition.cloze.body}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"cloze-suffix\"}}\n {{~#if definition.cloze}}{{definition.cloze.suffix}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"tags\"}}\n {{~#mergeTags definition group merge}}{{this}}{{/mergeTags~}}\n{{/inline}}\n\n{{#*inline \"url\"}}\n {{definition.url}}\n{{/inline}}\n\n{{#*inline \"screenshot\"}}\n {{~#if (hasMedia \"screenshot\")~}}\n \n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"document-title\"}}\n {{~context.document.title~}}\n{{/inline}}\n\n{{! Pitch Accents }}\n{{#*inline \"pitch-accent-item-downstep-notation\"}}\n {{~#scope~}}\n \n {{~#set \"style1a\"~}}display:inline-block;position:relative;{{~/set~}}\n {{~#set \"style1b\"~}}padding-right:0.1em;margin-right:0.1em;{{~/set~}}\n {{~#set \"style2a\"~}}display:block;user-select:none;pointer-events:none;position:absolute;top:0.1em;left:0;right:0;height:0;border-top:0.1em solid;{{~/set~}}\n {{~#set \"style2b\"~}}right:-0.1em;height:0.4em;border-right:0.1em solid;{{~/set~}}\n {{~#each (getKanaMorae reading)~}}\n {{~#set \"style1\"}}{{#get \"style1a\"}}{{/get}}{{/set~}}\n {{~#set \"style2\"}}{{/set~}}\n {{~#if (isMoraPitchHigh @index ../position)}}\n {{~#set \"style2\"}}{{#get \"style2a\"}}{{/get}}{{/set~}}\n {{~#if (op \"!\" (isMoraPitchHigh (op \"+\" @index 1) ../position))~}}\n {{~#set \"style1\" (op \"+\" (get \"style1\") (get \"style1b\"))}}{{/set~}}\n {{~#set \"style2\" (op \"+\" (get \"style2\") (get \"style2b\"))}}{{/set~}}\n {{~/if~}}\n {{~/if~}}\n {{{.}}}\n {{~/each~}}\n \n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-item-graph-position-x\"}}{{#op \"+\" 25 (op \"*\" index 50)}}{{/op}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph-position-y\"}}{{#op \"+\" 25 (op \"?:\" (isMoraPitchHigh index position) 0 50)}}{{/op}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph-position\"}}{{> pitch-accent-item-graph-position-x index=index position=position}} {{> pitch-accent-item-graph-position-y index=index position=position}}{{/inline}}\n{{#*inline \"pitch-accent-item-graph\"}}\n {{~#scope~}}\n {{~#set \"morae\" (getKanaMorae reading)}}{{/set~}}\n {{~#set \"morae-count\" (property (get \"morae\") \"length\")}}{{/set~}}\n\n \n \n \n \n \n pitch-accent-item-graph-position index=@index position=../position~}}\n {{~#set \"cmd\" \"L\"}}{{/set~}}\n {{~/each~}}\n \">\n pitch-accent-item-graph-position index=(op \"-\" (get \"morae-count\") 1) position=position}} L{{> pitch-accent-item-graph-position index=(get \"morae-count\") position=position}}\">\n {{#each (get \"morae\")}}\n pitch-accent-item-graph-position-x index=@index position=../position}}\" y=\"{{> pitch-accent-item-graph-position-y index=@index position=../position}}\">\n {{/each}}\n pitch-accent-item-graph-position-x index=(get \"morae-count\") position=position}}\" y=\"{{> pitch-accent-item-graph-position-y index=(get \"morae-count\") position=position}}\">\n\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-item-position\"~}}\n [{{position}}]\n{{~/inline}}\n\n{{#*inline \"pitch-accent-item\"}}\n {{~#if (op \"==\" format \"downstep-notation\")~}}\n {{~> pitch-accent-item-downstep-notation~}}\n {{~else if (op \"==\" format \"graph\")~}}\n {{~> pitch-accent-item-graph~}}\n {{~else if (op \"==\" format \"position\")~}}\n {{~> pitch-accent-item-position~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-item-disambiguation\"}}\n {{~#scope~}}\n {{~#set \"exclusive\" (spread exclusiveExpressions exclusiveReadings)}}{{/set~}}\n {{~#if (op \">\" (property (get \"exclusive\") \"length\") 0)~}}\n {{~#set \"separator\" \"\"~}}{{/set~}}\n ({{#each (get \"exclusive\")~}}\n {{~#get \"separator\"}}{{/get~}}{{{.}}}\n {{~/each}} only) \n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-list\"}}\n {{~#if (op \">\" pitchCount 0)~}}\n {{~#if (op \">\" pitchCount 1)~}}
    {{~/if~}}\n {{~#each pitches~}}\n {{~#each pitches~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}
  1. {{~/if~}}\n {{~> pitch-accent-item-disambiguation~}}\n {{~> pitch-accent-item format=../../format~}}\n {{~#if (op \">\" ../../pitchCount 1)~}}
  2. {{~/if~}}\n {{~/each~}}\n {{~/each~}}\n {{~#if (op \">\" pitchCount 1)~}}
{{~/if~}}\n {{~else~}}\n No pitch accent data\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"pitch-accents\"}}\n {{~> pitch-accent-list format='text'~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-graphs\"}}\n {{~> pitch-accent-list format='graph'~}}\n{{/inline}}\n\n{{#*inline \"pitch-accent-positions\"}}\n {{~> pitch-accent-list format='position'~}}\n{{/inline}}\n{{! End Pitch Accents }}\n\n{{#*inline \"clipboard-image\"}}\n {{~#if (hasMedia \"clipboardImage\")~}}\n \n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"clipboard-text\"}}\n {{~#if (hasMedia \"clipboardText\")}}{{#getMedia \"clipboardText\"}}{{/getMedia}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"conjugation\"}}\n {{~#if definition.reasons~}}\n {{~#each definition.reasons~}}\n {{~#if (op \">\" @index 0)}} « {{/if~}}\n {{.}}\n {{~/each~}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"frequencies\"}}\n {{~#if (op \">\" definition.frequencies.length 0)~}}\n
    \n {{~#each definition.frequencies~}}\n
  • \n {{~#if (op \"!==\" ../definition.type \"kanji\")~}}\n {{~#if (op \"||\" (op \">\" ../uniqueExpressions.length 1) (op \">\" ../uniqueReadings.length 1))~}}(\n {{~#furigana expression reading~}}{{~/furigana~}}\n ) {{/if~}}\n {{~/if~}}\n {{~dictionary}}: {{frequency~}}\n
  • \n {{~/each~}}\n
\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"stroke-count\"}}\n {{~#scope~}}\n {{~#set \"found\" false}}{{/set~}}\n {{~#each definition.stats.misc~}}\n {{~#if (op \"===\" name \"strokes\")~}}\n {{~#set \"found\" true}}{{/set~}}\n Stroke count: {{value}}\n {{~/if~}}\n {{~/each~}}\n {{~#if (op \"!\" (get \"found\"))~}}\n Stroke count: Unknown\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"part-of-speech-pretty\"}}\n {{~#if (op \"===\" . \"v1\")~}}Ichidan verb\n {{~else if (op \"===\" . \"v5\")~}}Godan verb\n {{~else if (op \"===\" . \"vk\")~}}Kuru verb\n {{~else if (op \"===\" . \"vs\")~}}Suru verb\n {{~else if (op \"===\" . \"vz\")~}}Zuru verb\n {{~else if (op \"===\" . \"adj-i\")~}}I-adjective\n {{~else if (op \"===\" . \"n\")~}}Noun\n {{~else~}}{{.}}\n {{~/if~}}\n{{/inline}}\n\n{{#*inline \"part-of-speech\"}}\n {{~#scope~}}\n {{~#if (op \"!==\" definition.type \"kanji\")~}}\n {{~#set \"first\" true}}{{/set~}}\n {{~#each definition.expressions~}}\n {{~#each wordClasses~}}\n {{~#unless (get (concat \"used_\" .))~}}\n {{~> part-of-speech-pretty . ~}}\n {{~#unless (get \"first\")}}, {{/unless~}}\n {{~#set (concat \"used_\" .) true~}}{{~/set~}}\n {{~#set \"first\" false~}}{{~/set~}}\n {{~/unless~}}\n {{~/each~}}\n {{~/each~}}\n {{~#if (get \"first\")~}}Unknown{{~/if~}}\n {{~/if~}}\n {{~/scope~}}\n{{/inline}}\n\n{{#*inline \"search-query\"}}\n {{~#multiLine}}{{context.fullQuery}}{{/multiLine~}}\n{{/inline}}\n\n{{#*inline \"selection-text\"}}\n {{~#if (hasMedia \"selectionText\")}}{{#getMedia \"selectionText\"}}{{/getMedia}}{{/if~}}\n{{/inline}}\n\n{{#*inline \"sentence-furigana\"}}\n {{~#if definition.cloze~}}\n {{~#if (hasMedia \"textFurigana\" definition.cloze.sentence)~}}\n {{#getMedia \"textFurigana\" definition.cloze.sentence escape=false}}{{/getMedia}}\n {{~else~}}\n {{definition.cloze.sentence}}\n {{~/if~}}\n {{~/if~}}\n{{/inline}}\n\n{{~> (lookup . \"marker\") ~}}", "checkForDuplicates": true, "suspendNewCards": false, "displayTags": "never", "duplicateScopeCheckAllModels": false }, "sentenceParsing": { "scanExtent": 200, "terminationCharacters": [ { "enabled": true, "character1": "「", "character2": "」", "includeCharacterAtStart": false, "includeCharacterAtEnd": false }, { "enabled": true, "character1": "『", "character2": "』", "includeCharacterAtStart": false, "includeCharacterAtEnd": false }, { "enabled": true, "character1": "\"", "character2": "\"", "includeCharacterAtStart": false, "includeCharacterAtEnd": false }, { "enabled": true, "character1": "'", "character2": "'", "includeCharacterAtStart": false, "includeCharacterAtEnd": false }, { "enabled": true, "character1": ".", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "!", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "?", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": ".", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "。", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "!", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "?", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true }, { "enabled": true, "character1": "…", "character2": null, "includeCharacterAtStart": false, "includeCharacterAtEnd": true } ], "terminationCharacterMode": "custom" }, "inputs": { "hotkeys": [ { "action": "close", "key": "Escape", "modifiers": [], "scopes": [ "popup" ], "enabled": true, "argument": "" }, { "action": "focusSearchBox", "key": "Escape", "modifiers": [], "scopes": [ "search" ], "enabled": true, "argument": "" }, { "action": "previousEntry", "key": "PageUp", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "3" }, { "action": "nextEntry", "key": "PageDown", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "3" }, { "action": "lastEntry", "key": "End", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "firstEntry", "key": "Home", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "previousEntry", "key": "ArrowUp", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "1" }, { "action": "nextEntry", "key": "ArrowDown", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "1" }, { "action": "historyBackward", "key": "KeyB", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "historyForward", "key": "KeyF", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "addNoteKanji", "key": "KeyK", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "addNoteTermKanji", "key": "KeyE", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "addNoteTermKana", "key": "KeyR", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "playAudio", "key": "KeyP", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "viewNote", "key": "KeyV", "modifiers": [ "alt" ], "scopes": [ "popup", "search" ], "enabled": true, "argument": "" }, { "action": "copyHostSelection", "key": "KeyC", "modifiers": [ "ctrl" ], "scopes": [ "popup" ], "enabled": true, "argument": "" } ] }, "popupWindow": { "width": 400, "height": 250, "left": 0, "top": 0, "useLeft": false, "useTop": false, "windowType": "popup", "windowState": "normal" }, "clipboard": { "enableBackgroundMonitor": false, "enableSearchPageMonitor": false, "autoSearchContent": true, "maximumSearchLength": 1000 }, "accessibility": { "forceGoogleDocsHtmlRendering": false } }, "conditionGroups": [] } ], "profileCurrent": 0, "version": 15, "global": { "database": { "prefixWildcardsSupported": true } } } } ```
toasted-nutbread commented 2 years ago

@VKen Issue is fixed in #2005, will be included before the stable release.

VKen commented 2 years ago

Thanks for the quick fix, much appreciated! I can't test it now unless it is released in the testing channel (can't install unsigned addons in normal firefox). Looking forward to the release

toasted-nutbread commented 2 years ago

@FooSoft updated release to 21.10.31.1. Might be good to only update the testing release for now, and then after a day or so, update the stable release. (Gives some time to @VKen to verify the issue is gone on his end.)

FooSoft commented 2 years ago

Done!

VKen commented 2 years ago

Issue has been verified fixed in the testing release version 21.10.31.1. Thanks!

toasted-nutbread commented 2 years ago

In that case, it's probably good to push to stable also @FooSoft.

FooSoft commented 2 years ago

Done!