Git Product home page Git Product logo

chrome-skk's People

Contributors

addie9000 avatar ento avatar hkurokawa avatar jmuk avatar snmsts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

chrome-skk's Issues

拗音がたまに入力できなくなる

発生条件は不明だけれど、しばらく使っていると、以下のような現象になる。

入力: jo
出力: jお

入力: syo
出力: よ

roman_table.js の initRomanTable() が呼ばれていないことが原因な気がする。chrome.runtime.onInstalled はかならず拡張機能の初期化時に呼ばれる想定だったけれど、そんなことない?

単語登録モードで貼り付けを可能にする

環境

ChromeOS 115.0.5790.94

再現手順

  1. 「柞刈」という文字列をあらかじめコピーしておく
  2. Chrome のアドレスバーなどの適当な場所でひらがなモードで「いすかり」を変換しようとする
  3. ステップ1でコピーした文字列をCtrl-Vで貼り付けようとする

結果

何も文字列が入力されない

期待する結果

「柞刈」が入力され、単語登録ができる

再起動するとユーザー辞書がリセットされる

Chrome OSを再起動すると、ユーザー辞書がリセットされ、以下の情報が消える。

  • 登録した単語
  • 最近選択した変換候補

これはおそらくインストール方法の問題だと思われるが、現状では #14 がブロッカーで Manifest V3 に移行できないので、ちょっと仕方なさそう。

testpage.htmlをどうにかする

testpage.html は現状で動いていないので、消すか直すかする。

直すなら、以下のことはできるようにしたい。

  • 辞書なしで、ひらがな、カタカナ、英数、全角英数が入力できる
  • Backspace が動くようにする
  • 辞書のロードおよびユーザー辞書への登録

cchaで促音が含まれる送り仮名が入力できない

環境

  • Chrome SKK 1.3.0
  • Chrome OS 115.0.5790.94

再現手順

  1. ひらがなモードにする
  2. Shift + T U P P A Shift + C C H A と入力する

結果

つっぱ*ちゃ と入力される

期待する結果

突っ張っちゃ と入力される

備考

Shift + T U P P A Shift + T T Y A なら問題ない。

テストインフラの構築

テストがなにもないので、とりあえず以下のことはしたい。

  • ユニットテストをなにか1つ追加
  • CI を回す
  • CI が通らなかったら PR をブロック

変換モードがたまにリセットされる

環境

  • ver 1.2.0
  • Chrome 115.0.5790.30

再現手順

  1. 変換モードを「英数(ラテン)」にする
  2. (おそらく)なにも入力せずにしばらく放置
  3. 新しいタブを開く

結果

ステップ3で変換モードが「ひらがな」になっている

期待する結果

ステップ3で変換モードが「英数」のまま。無理そうならオプションでデフォルトの変換モードを指定したい。

Service Workerにすると一定期間後に入力を受け付けなくなる

概要

232159e を適用すると、最初は問題なく動くが、数秒後に入力を受け付けなくなったり、ひらがなモードであるにも関わらず英数が入力されたりする

再現手順

  1. 232159ef3cf33a52e06c226f213716d476cdd596 を適用する
  2. 拡張機能をリロードする
  3. 適当なタブで日本語を入力する

結果

ステップ3で、数秒以上たつと入力がまったく反映されない、数秒たつと反映される、急に英数しか入力できなくなる、などの症状が起きる。Developer Toolで見ると以下のようなログが記録されている。

Error in event handler: TypeError: Cannot set properties of null (setting 'context')
    at chrome-extension://epaoakakjoclciilnpfiaaacmpjionjc/main.js:23:15

期待する結果

ステップ3で、SKKの日本語入力が問題なくできる状態がずっと続く

備考

  • Developer Toolでchrome-skkのserviceworkerのコンソールを開いていると再現しない
  • おそらくserviceworkerが一定時間たつとinactiveになるのがきっかけ

TypeScript化

いつかはしないとメンテナンスも大変になりそう。とはいえ、そんなに緊急度は高くない。

変換候補の優先順位の保存方法を見直す

いまはユーザー辞書に追加して、ユーザー辞書を優先しているが、無駄にストレージとメモリを食うのでやめたい。あと、この状態だとユーザー辞書をexportするのが大変そう。

var userEntries = this.userDict[reading];
if (userEntries == null) {
this.userDict[reading] = [newEntry];
} else {
var existing_i = -1;
for (var i = 0; i < userEntries.length; i++) {
if (userEntries[i].word == newEntry.word) {
existing_i = i;
break;
}
}
if (existing_i >= 0) {
this.userDict[reading].splice(existing_i, 1);
}
this.userDict[reading].unshift(newEntry);
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.