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