OSを再起動したので開発環境を立ち上げ直すメモ
-
せっかくの機会なのでローカルのディレクトリ名をmovideaからkozanebaに変更
-
$ code kozaneba
-
devserver
$ npm start
-
$ npx cypress open
-
$ firebase emulators:start
- 追記
$ firebase emulators:start --import firebase_emulator_data
-
それぞれターミナルの名前を変えておく
-
とりあえずテストを走らせる
- Firebase authのエミュレータに入れてたユーザデータをエクスポートし忘れてたのでテスト用のアカウントにつけた名前が消えた
$ firebase emulators:export firebase_emulator_data
$ firebase emulators:start --import firebase_emulator_data
- あれ、Ctrl+Cで終了したらダメだったか?起動できない
- google cloud firestore - How can I shut down the local firebase emulators? - Stack Overflow :
Check which process is occupying the port sudo lsof -i tcp:<port>
Kill the process kill -9 <process id>
- Firestoreエミュレータだけ生きてた
- kill に -9 はなくて良い
ts
/// <reference types="cypress" />
import { ready_nested_group } from "../../support";
describe("ready nested groups", () => {
beforeEach(() => {
cy.visit("/#blank");
cy.viewport(500, 500);
ready_nested_group();
});
it("do nothing", () => {});
});
ts
it("do nothing", () => {
cy.testid("G1").then((x: any) => console.log(x[0].style.cssText));
cy.testid("G1").trigger("mousedown", 0, 0, { force: true });
cy.testid("G1").then((x: any) => console.log(x[0].style.cssText));
cy.testid("G1").trigger("mouseup", 0, 0, { force: true });
cy.testid("G1").then((x: any) => console.log(x[0].style.cssText));
});
ts
it("should not move when click", () => {
cy.testid("G1").then((x: any) => {
const {top, left} = x[0].style;
cy.testid("G1").trigger("mousedown", 0, 0, { force: true });
cy.testid("G1").trigger("mouseup", 0, 0, { force: true }).then((x: any) => {
expect(x[0].style.top).eql(top);
expect(x[0].style.left).eql(left);
});
});
});
コンテキストメニューが出ている時に座標が狂う問題、
- 選択範囲に関して発生するのは気づいて直したけどグループについても発生するケースがあるのか…
- ドラッグ中にいじったtop/leftの値をリセットするコードがクリックの時にも発生することが原因
- クリックもドラッグもmouseup/downの組み合わせで自前でやる形になったことで発生するようになったのだな
- これ内部状態は変化してないので無視して他の操作をすると直るんだけど、まあ普通のユーザば表示が壊れたらそれを直そうとしていじるよね…
グループのグループにタイトルをつけようとした時のデフォルト値に孫こざねのテキストが出ない
- 「中のもののタイトルを繋げたものがデフォルト値」ってやってるから、タイトルのついてないグループは単なる空行になっちゃってるね
リリースノートに後で書く
- グループのタイトル編集時にタイトルのついていないグループの中身もデフォルト値に含める
- グループの作成と選択範囲の削除が更新とみなされておらずクラウド保存されないバグの修正
- クリックしてコンテキストメニューを出した時に表示が一時的にズレるバグの修正
- ローディング表示を改善
欲しい機能
- 場の一覧を更新順にする
- 場の別名保存
- この時にリードオンリーにできるといい?
リードオンリーを実現するためにはFirestoreのruleをちゃんと書かなきゃだな