From 7a9536eb200e4fe7077febc5268775b775563e33 Mon Sep 17 00:00:00 2001 From: Eotel <49769982+Eotel@users.noreply.github.com> Date: Sun, 25 Oct 2026 22:17:18 +0900 Subject: [PATCH] fix: align room and AI background Unicode limits --- ARCHITECTURE.md | 2 + backend/tests/test_rooms.py | 11 ++++ docs/ai-routing.md | 2 +- .../after-publication.png | Bin 0 -> 50050 bytes .../ai-background-corrected.png | Bin 0 -> 55879 bytes .../ai-background-error.png | Bin 0 -> 91567 bytes .../ai-background-saved.png | Bin 0 -> 52580 bytes .../before-publication.png | Bin 0 -> 47533 bytes .../home-background-error.png | Bin 0 -> 112640 bytes .../home-mobile-error.png | Bin 0 -> 49097 bytes .../home-name-error.png | Bin 0 -> 111544 bytes .../verification.json | 48 ++++++++++++++++++ .../active/2026-10-25-unicode-form-limits.md | 39 -------------- docs/generated/README.md | 1 + docs/index.md | 2 +- docs/rooms.md | 2 + frontend/src/ai.ts | 6 +++ frontend/src/generated/form-limits.ts | 2 + frontend/src/machines/home.ts | 14 +++-- frontend/src/machines/operator.ts | 23 ++++++--- frontend/src/presenters/home.ts | 3 +- frontend/src/presenters/operator.ts | 4 +- frontend/src/rooms.test.tsx | 31 +++++++++++ frontend/src/roots.test.tsx | 41 ++++++++++++++- frontend/src/views/home.tsx | 5 +- frontend/src/views/operator/ai-settings.tsx | 3 +- scripts/export_openapi.py | 14 +++++ 27 files changed, 194 insertions(+), 59 deletions(-) create mode 100644 docs/assets/unicode-form-limits-2026-10-25/after-publication.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/ai-background-corrected.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/ai-background-error.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/ai-background-saved.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/before-publication.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/home-background-error.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/home-mobile-error.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/home-name-error.png create mode 100644 docs/assets/unicode-form-limits-2026-10-25/verification.json delete mode 100644 docs/exec-plans/active/2026-10-25-unicode-form-limits.md create mode 100644 frontend/src/generated/form-limits.ts diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index cb09eb0..0cc1ee3 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -87,6 +87,8 @@ SSE は購読登録と初期スナップショットの取得を中断なしに [API の型生成](docs/generated/README.md)でバックエンドのモデルから OpenAPI と TypeScript 型を生成する。フロントエンドの Adapter は生成した型を使用し、API モデルを独自に再定義しない。 +ルーム名とトークの背景の上限はOpenAPIから [form-limits.ts](frontend/src/generated/form-limits.ts) へ生成する。Home MediatorとOperator MediatorがUnicodeコードポイントで保存前に検査し、上限超過時も下書きを保持する。背景の検査は共通の `backgroundValidation` を使う。Viewは入力を途中で切らず、担当するフォーム内に検証結果を表示する。APIのPydantic検証も保持する。 + ## 辞書の制限と検証 入力上限は [models.py](backend/app/models.py) の `DICTIONARY_LIMITS` に置き、Pydanticモデルと、[生成した辞書規則](frontend/src/generated/dictionary-rules.ts)で共有する。`check:api` が上限値とUnicode case foldingの一致を検査する。APIの型は従来どおりOpenAPIから生成し、画面の下書きや操作イベントとは分ける。 diff --git a/backend/tests/test_rooms.py b/backend/tests/test_rooms.py index 73f8f2d..72576ac 100644 --- a/backend/tests/test_rooms.py +++ b/backend/tests/test_rooms.py @@ -33,6 +33,17 @@ def receive(client, room, text, identifier="same"): return response.json() +def test_room_name_and_background_use_unicode_character_limits_and_keep_saved_settings(): + name, background = "𠮷" * 120, "𠮷" * 4000 + with TestClient(create_app(environment={})) as client: + room = create_room(client, name, background) + for invalid_name, invalid_background in ((name + "𠮷", background), (name, background + "𠮷")): + response = client.put(f"/api/rooms/{room['id']}", json={"name": invalid_name, "ai": {"background": invalid_background}}) + assert response.status_code == 422 + saved = client.get(f"/api/rooms/{room['id']}").json() + assert saved["name"] == name and saved["background"] == background + + def test_switching_rooms_preserves_each_caption_and_background_but_rejects_old_tab_writes(): with TestClient(create_app(environment={})) as client: first = create_room(client, "作家へのインタビュー", "写真と布の展示") diff --git a/docs/ai-routing.md b/docs/ai-routing.md index 15300b7..a66cf5a 100644 --- a/docs/ai-routing.md +++ b/docs/ai-routing.md @@ -74,7 +74,7 @@ Geminiは[generateContent](https://ai.google.dev/api/generate-content)、Claude ## トークの背景と直近の字幕 -「トークの背景」にはテーマ、登壇者、作品名などを4,000文字まで入力できる。保存後の確定字幕から使い、既存の字幕を再校正しない。背景はルームのAI設定として保存し、再起動後も保持する。直近の字幕はメモリ上にあり、再起動で消える。 +「トークの背景」にはテーマ、登壇者、作品名などを4,000文字まで入力できる。「𠮷」などの補助漢字も1文字と数える。上限を超えた下書きは保持し、保存前にエラーを表示する。保存後の確定字幕から使い、既存の字幕を再校正しない。背景はルームのAI設定として保存し、再起動後も保持する。直近の字幕はメモリ上にあり、再起動で消える。 各要求では、その時点の背景、単語辞書、同じ接続の直前の確定字幕を取得する。直近の字幕は採用済みの表示文を古い順で最大6件・合計3,000文字まで渡し、文の途中では切らない。対象自身・後続字幕・未確定字幕・以前の接続の履歴は混ぜない。接続先や入力元を変えた場合は履歴の範囲をリセットし、同じ入力の送信形式だけを変えた場合は保つ。 diff --git a/docs/assets/unicode-form-limits-2026-10-25/after-publication.png b/docs/assets/unicode-form-limits-2026-10-25/after-publication.png new file mode 100644 index 0000000000000000000000000000000000000000..48a22168c796045f6a583762a9821ee90327185f GIT binary patch literal 50050 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Ʊh8fEysXMwrj= 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%0AUqUlD# z{($rY@XN8UT|SNMQHNkjcWQ5E2&rgu3&IOiIrn|7?^xJc4R0iH^1 z8}6^9mKGrwGjV6!iS~t^ow1$OCO90*%>;thGsBba^H`71HJZ6Zo?PMTF?e?#S=Nzi zXe$L;0|?IE1;CTx2A6YyY`q!*k0mY|Rw~&vV2dUC8aui=>~3qtM4q=JW!jBaM=4WD zOMMYzr=fbUUHT(Vjt;~)QNY){d&X6yIar3?`Q-X^le{BOiQvR-6%o${qS?Gc^(1&k zx2J%Er7zD2?y@V_i;U| z_29kMecIvSB!>b|j)l+ih~S{wpJxfEyZ`_I literal 0 HcmV?d00001 diff --git a/docs/assets/unicode-form-limits-2026-10-25/ai-background-error.png b/docs/assets/unicode-form-limits-2026-10-25/ai-background-error.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d226970e4e38a91357f1eef254cece8019e80f GIT binary patch literal 91567 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
~1S?R)SdYwtF&i!7O>-0D2crYV5mxuCml{J z13A)tx{%a~l-dH}m+9%~sm7hw|0~1$_q_2{Z0+t_m7xh>SoMI;y|EVL<>v~gxRdrP z6A+?&-CgamqDMN@4@&UxxwzWa`sTS=`J5X+)n=}n9LO-`6(=XGT~qL+Bi=lpjGx9A z+GjjEpTzAQFMgd}&(vvx+GfYEt!aN?K!kA{x(RAA)+Al-^+X2{ls+DPGa887o#Ov7 zB;po*SOFl=w>!;I)5o^J)UCbL5yX;*BNyVHEJPy0`wf}TaHAu>m zbLDO_kTMX79!Kp{7P@P3asqbAAcKP0UMcSaYP@-XjHg(hjla94Xj)BZ^v(2{q?#Vc zt)mnTAW?MfqFo@4$*cknO62wwhRc7b7ar}-i6{JsY1(lW*S<(Bm=Wk@L?t^)o=Lvc n%Z5XbUzIcY!=G-;de8p=OZxW2ZY zHsHVk0N}vhKfvxZKnrk?jr|}y+rfkE2M--O$iaD>lk@OlP9XO&uHyngK|ui^KfjQO z*eRi(M1}eJPfMK^6_S)D7FPB>*g4o( z53#bc90DBRVPV}H4lf_@5dRr@EC`%1q-cf-Cy~VwN*B?%#9^m^@(~3;e^JP#z$|)& zvU4RzM6=i(fwPx`T4vYx+64Y}U%&PFm#aK~1;OuErvO~6d(iQ)@&GgeKeYdV4*)po zGh4H|QjZ^~T4ORip!gz~@B|5Wrk(dv8p$G+F8o<}$$$K#bVf~L&I5hhjVdAaBMLvc zIJLZc@%GIjEPKGsl6T8jWj*y*)h&ZUL|e8#_`7XCR|USA&h547stKDiO9+Pr3=g`0 zkm~cHL?5ZYmU&;q6x9EvzP_NLu|TqH-Dzy*-jUbM-I*)CZ!qL5$PBGw0)}W zGvvOk?N1~7Gvxldw!dWWYa{!L*1it;zg|5)So7W{IB2c{KNT#ERSHxvheUWo86+oM zWGG!$5rh9f#?!xhbld``Pp31O41yCGY>T;!)p2*yao9f7KYsXO1~%6Dvkh71GYDBl z#ZPX0?gp#6Gh(@x%E5W6X=q=+2%x#GKJ$tO5WyuZ%O{tKX;=9z)h+!Pcg?8;s(U3~S5#!+9{QhO_-> zhb>_n@vT-*RM@RlG3UWI()PsYp;z)WK85w*fDN&=vV!+Y&r8b-#rr8HRvL`E`)-%E*6YU*a66Y;tz?&(H~dyz^^x6+ z$;{{O&n|xf4;5>Ay|g_MdfT(#)%DHVJ6BfS>MsrFPP}w!tf};^3aG+j(;o{o3~WC%Z(dAIuX zouXIyHy-!#%Q$ej=hDJ!AdO&SVO15ILmHnx!A_j* z_{mIiWMfE@Kl+U4238~f>)i=zW^848?G+`K)wcoWd4-i5Q?_rT&mO6-SNIkuw0f(} zS}A|+dhZ=s*)^-8zUS$UeN7(xkDo?DH(_Uwf=$u2Dq?4n$jrp6OHhk~VHd>DwC2sss z)Njw~vTg(&%YJ-WS=?=I_3ag#xC`~F&&LXwt3Q;JRcHHK-o5MFd97W4s+>R0XD0?eNv~DYBD2%!`2*dp(Go`--@d%%BKjXP??dU12X<-i zJV(cZZ_y0WJ}k^$yXJb^FWc_kM67nzkJ3m#8VQtD$@Uy88t8Sr5U#9w7 zh6aW(Z}GFO3R$tQu1+ys^fR_Mv*Y-oukNuSBYDouEn7=j7n(OU`pf(%cQ>qt7UmeHyNwS-2)bzj ztD}Xfv78Y3YtFg};;31^M*^nY=dNI0>5U_o_*YllBO;*+m(VPmz)V-RFo=OAJ@*UJV)%^R8vJZDv$Zl zZmoDYH3XRrcN07u$E^LuI+eur$@0$Fc&NsXFhwO`;n3oJzc_+9c1pSUCS=94qy(4F z1(KU7PFAyR&lG+erGA9>nlJqa-riRAl)&8Q>4f(W@!bzS#L!lx;5fscb71BTvokuq zWKFo|oFTj%^_j2k-ct?{2IwbB2;N!=r-*)OqxQTw3Yb>M>5?pi73QJ%b;K{H@k{I+ zdO>l(o%OJYio$QrWs}^7j3_XRdNy?Xc`$Ytpf2|vP#sYiP{=HlUU?1AyAgmNp7QM` zaT&DOs(Hvu!FB;JfCld+l{ObD&Ofm7mzw5Z$6`0Ft_7ZcJgSVs z-5_jy7G#Kzh#Bg~5ZI{ePEj}1uMa|uV>k0aETc#5*sH;HFRHz35eu$X-4e>qHS9#Z z!(=qHCm&R5{-cn^ z%(b|GJ~2_d@m~psaj!pqb}i^^a0L;y zU2<0p;dfQ;X^nhQ|Fr8_@xKsF3V-=8q)iHa{ujbAzUMl=*}WKjX+KJt2q|0spcA=1 z^XBR2NB*$xhXzRxN#38Ua>ZE8-sV0Snz2fmmgE))ey=HN|E~o44u$*+DNA1C|3aj! z>HSY@*REkgubWvo&9xRbpA_i4L)ILh?aCK_A!Gd#RXIMKn0VMABk7J#xa(!_A{D#o zhVOA<|AHB)BJ%p5&!#1n{wqOD)`qLqFJ2hUuj$!E$8wjlg*cq#Hrxf+M1#|4fwf+t z{7-H4%}m8)!mN*;WT(bel+9kd^68_}%D)f>+?T08Qjzy%>W}F2zD(`Q)Zb-2?5|UQ z)K%=SQ-37e?5|V%y5HX=dF|_dzgJT2>wfhSJ?hTMFeg=i#ZEAFHGgpI8l-WR#W(0+p$w zrsA9l#PACTxI*9s$AUSWbnPte>KEBvU`_CmS)5E*RZR+F7g;PSE^JCj;9TCOYR+BS zdg;K6Io)((z^BFX04+`=P-&f>zz zkePI^ag)-UAQYrd&$O$M%5vFKzAvHB^c_Liw4Ha(T$jfB;Rh$+jR4DvP2%SGU?HP8 z9WjtcJILW#u>7WlS=L6%Nu+8>AhFSREoW_QPsGK2ty^J762m0_pfxLzMiQ-g!g8UwIjt|NlZ$LZm}9L;teF~t~=xwaqSd!G`4NSv-% zUmSXJY!`5Pv@$GhJ zhgz=sF$6On7EolsVwdkVrj-{J=*7l6e<7B@@9p)niO4MGgfn*mw4~DqiEk$)9Vh*I z8H}+hB@CTe%(V1I9&LF>KMILXel3FHA8&-G)4(VK!=`JKGJ7>3$I+ZWw zNbY!WIj~Fsh9?A^yXrsVMpmtL-G^(Sm($@`{e*JS&8(y?C)_QmnANDoKREFBze)l% zE%^=4{2zA|(UfuL@ePdEi3}3`+=oEywk*gsKhB?38M_D|FU?Kl6Q z6ie+RXCFDg*D&sj)qhgpxsRNEHctfXe99C4Gv?#o&D2&Z0s|`zAXGt zoeK8mFJDRfbq5jpn%ZQ&fZC+N!H#mA%b58^Szy-!c-G=W^LQjiq2w!)r ze)eVU6}Q(P}9fsI$?Hq)IQ z>hIj_{_cIoGHfQJlg&bU>-Ct5QRab95 zXx-y(mVosiR;yi1I|*s)Zbxf8oQatUx*tF*tvT{A#9g{zSZoSd9gI@!sY?|qfU$jl z#A7ZNDG!&O?N?!*Q?-xX1u*I}5@5_T^oQVl8vhBhS&}dU9HbrR_X*!N_=Np?$bre` zJBT_vqe#$Aw$XUQDVI!fZ*_X4Q#+U5I~PqQTcH=ZFQ@N#yd>IeRrOv(c&mAARE!IL zoNpCkcJ#%Q&I0W(+{!*ASo@QEPBeaFGvRAn87|i_&=Qv05QJ`tDPok=^alh9N$JU;VU4{g*Kxmt$@=fy#G@9u)s2_)=Dc z5Ayhha;AZyek?x_hs5cy=0`+cthQ;isjTaL3zIxkQE=HRz@<|Lm`0k50!DL-2elvZ z`_^mptR}}^^2tSSGd%{$$Oa~%A3+C3sY`a_cyKEDCvQ*yQ-5Al|M_!P?ny>`Qg>k{ z+}VJ}#z^9rBMEOriO&?u93(<+*MdOC()cybPdU^f+_=Fmz)Lxmqudf?S@6~<<$gcq z&`rObDp!+Y-p*Y>HCn6g4y}0A+A9-d=VlWWOfk+s7!*Vne&j$zu|3k9_z=ydzrtHV zr!x!B=v2ziuccI#Nqb`o7D?cU+b-ah1lSFJCH+KgomH4u|Ytg_1XBsUBEEI zTNNQ$Z2k2JntB#U<;~TK1k;542t0Fd=O#SPy8M3Nq^;<1ok5@__!+2Ss)!kT=BfhP>05-$Gn@QF+>BaadziAMk+W^T9 zNcA&{Vk3yn8xVMWn^|PXaW`OnM?hKJ^r76Gc<3H<^g<)5lS0&vws=_3rot_J~*`?ER*)IRfs(I#EhDZMrVAt!v8VTaA=g!DVY@ z+a5KK&sFkcD6TH&xV>GxI8uSSU~NN(uzWc+lgoqOj(wZ^Byvw{Rr7sp-#oBhr;4$( z2!D&QHjm3RVGrEy9)6uqaMgmd5oLI^#4xNMb$N!+Nn-x9q3?gG^THThG`)|pVp5d* z%?$dYGR#DC5|OCTN)VbCI2W_h@8nzg<@~X-UBF{m`H2mU)}5_}ezDA}0}mR;_{C;Y z?xS$Zuo|49Y0h!1fxV=}hrT<+vnp9GuU}q4>)k933_MZjWvEvP%}ymK!DbD;fP(x$ ztK&Z=Xm>q!9IwfAW_>xe*}m{QhNy;t!6=jKnHXt(Sa4M#0=8KF$)#ul-$G>Gmr$XQvUFzR zpKhLb;AHtplzNF;UgUQXfiE%`fJER;>80yvWWA!h9#tv^QCj7Y^~0;wceB;iDtevWhdEY=UtjcDcbmh5qyk zBDCDphA-hp>S#1E2R`w@^2r`|t9;UCrQcy`s`gmx<$hZ2{>sP(%t;8T&5^%EjCs;Y z$T-O443S(ZthRg|f$VZIxWk(RO*uorky9HSHpKs6KIi_8UW*;qQ#&WLL;fCX_g05p zJYV%39y9-3iE}Z}Wmd_JJ~O1kv&68iYO@B0bxqR_v^pEw> zROtuSNfa_TBCkK<7KfX-b1N{BB2)-Loa%wZXh2bCCBZn~I-S2jWuPUK#QrVWb zU93L3VRhL2VRO;IfHSQuyMV@)LaxKSIqGK!wJn8R=Su&?;R_b;evIoslnyiC98T6x z@=;eTFPc0o{AgK1OHJL9PL)2>8n5I!;z&|5RPvKjx5D{$to0mMGs@QjM-3Dd=IG9wGf@_u~IJTzcYFM8J_C3;~_j@TH&R zHDvlqNC+1A`4hs!M^Xci*0n19?9vwn3H1{A4qqlVi1fypWE<@QF6{y?Ku%L+P9!{t zKWj-x;^vHXj24HV3}y}@jX&=@ie*5EL^?=c)WepN$4(moMpV zlOJ=9^e_dv!&U}*LVZ=aeaL<)*QTyZ&M^T+d{b#ZVEM#f_^e=E*%mRcBg{>@L@a0< zo=|SDwX>}#HmKC-&2K7)Y^^~0QL%TlqS$fYLv{hI*D;GDw+EjL9^U)%K>wA-qm5xj z-8BunEIaMg56sk!40hV35JJ_grHIWGiudh;EWf zHgfZFJjnP4g=#XK-#6)N6z)i4lW%I6C5QmIC7gVWKRVc$zoG?tp9r|pf0S+U%>a{h z(#PnMfi3T>dszvTR@YOMh69<-o~3V$*&odqh#G0&Z#OEU2r|8?fu`Nrxsjq+UAiTj z@7}>TCB>U+JFg=+T$=7* ze_IKXxQG^?%F$iU>!!k-km0WS(V27KPlP0NR9+b~?!H=_t)r3m-puMgW`JlbIBe(v z9Qe3%WM>#;(#f)OXeCM~cn*vtfWSzsz59b(m~_kJ6?cK<%?V&N?<(i@MhkJZf`oCl z^pjM_y>VzZKH)%5bdkiZZ*MrEg$yFWR^38{ewNjPExUk)=f_5UwYZMw$X&YMl1Abo z9lMZcdu$g#et3NsugnF1@0OIm&RqJEkl2?F0ey9oWa*)SWkZ;orRsW?WS ziT;3e)D*I_Y4)-E@ykemc~*BG?P`BSNi8fZ6Qp>;jEV-&5F7T`{9s^!pa0rn^ZZ=^ z`kH>;-qclG7gFGw1FA_(W8{frH+6Z)kBCbN(7FsqnqKx%HD>zzF8cd5~f%ToqU~2&v^2YlYh$?h$m- zMsA%MxT4YRA@g~a8d~h-Iry-+J=`&ZUXJ;Z3U|UG=SrjN`}dXy5xIZf5cu;OTt{wY z1mR+Bz)6OLPYe2%j>#H$vl)WLIPoMjbH443g@IcVg%avM?u}D;6P(k-q>i8;M4j+$ zkUVrfLI(jA0-^BXAv@>G4m@?S{PO%qW--a&U;><3*X5a~%_O^wbZP{eNdI&f-NJ|| ziMuDje>tJEviH_cX$iA+pUeuN2`7QT!za~GRv7hN`!+4`Az)*MCF}aT#%wQZJ&Vgz z6{}lshdSNHP{I@{zabi8nJbxhg76ZF3w(dh_e_47G<@2)C%-T+r}D}gK?$6lM^<(1 zXAo^A*%;a8$OsO!-5DJmRtM{9!(a*b>S|CDsEZ0Z|C}O1b}5=n{LpSAV{OEUo7H2+ z5E%qEbcI5L=M#Uyjhdi2gNI?>_4ZFAE)Sa!`)D!+o^)N;W+7>{PM};{IYjqv(S&oP zh`E4$JmB@%Gv2W(FG*>R*CmPN*va8sJx?6LML&%!Zupv|LR{qoy+o|}F zyu9kX@!>Iyr&p!RMO-oscvu`ONZ0c$qcfWY*tX7i0vwIMh27h+zP)1>bJb3Ls=nBJ z1aqNMVt}45V|#c2n#7JYA&3Qb!PY!spXj=fc_T`^7+#ld;l)swEtvd4V%-J1GdMSsw^`gyoUx;OdS>h=*ed{Bi{J4x6}=pq+mE?EW? zB{mQq+Pd74rg7fJ#$dGTYmCxwjrr+WSg&8y@)*QUU`_@pe$&WMWuwC^*S`NAA& ziM1;pVboLd2WyfGNS}^#Ql?2EIrhYXiOQT@lI3SJx$$BwHee_L67nF@DN4}-8O;yU zt%c|kF425_>dl&Bg+W!HU_~5DkS@YrefiYWl=}@FADB5X%8?>{;`%il&#P*$zv-d6 zx01Oe{q2hPcGv_g33pzRI_4oJnpQEFR*ob{MriE}^Uq|?_dPoPH?JLT{vE>Kt^(59 ztG$;Ete>W%-1VYvDlYnVvN?=tvKzZU@!KrUUB=&N6PmKm)9JgQ^z6!eGfPCin0gQh zq%ha6#$>8@kJ$VI13E-Vu$k-vCLf(1AO4Kca6XB$)8mo^;>>vXh|InVr~gXT4-Iz) zFUrH=knR!Jmc`yE7zr8s0jtoIZO_5H()cOygPbbfBbIebMmpZ;=b_d7pQ}B`jhPfK;7~I>N%ihMWhLz>4y&yau{SYq zaRASf^f>mH_58Sda3w1HQN_9&o^f$bkvz_urF@8ahyvq6UV+Qlm+4zuB`}F zoV(PORZKHMB)K4CBv4>aMgJry+FbAn@to{e-oK&RQP5(Uq_mfDUvYNf1F{Hbr|=^$ zm^k(lsZh~_OW{E@FIW;zXR1|X7Y>#z46H>)6uUhe!sv+S1*zW+4ALFum07+RRl*-` z1>(CW;~7-!Ba0DT_?=t_x|K;m#Wd^nXIgH9og!c>f9FxHX3=!Ex}{L}lyZ2Zp?tu% z+PW;UXLZ5z$+rvg$59%237kux=4iyQ-j=EfUfC}cK9wT<{%C=ny}b@@{!QceLNuDI zp3LX%0_O5UnGfLw3zJIzV#dkBOCRYJ84hQZC7l4`;W@uB%CXcaWU1=<6)+ChEaclRplGf}QTNSBIb%rzNAiF` zp>ST;iz}_`tb_@3mvU!}6~FXGcBxGv`;8cecrg~lSFq4D>CZIhK=bQ&^m68pSvsN2 zFIQu?6<=-0ZfI1V{ye)y8r9+Kjt3I>p(HeqKq`ZeXCzFqbVFhTawb0>NM@7dg_zR8 z^ir`4s_7rBdrz*voFuqd2MyYc8xpNm7zK11ci>?SP=u24@!PSSa|BZ6J(gm3D~pn( zZ7UBraXdbV#j0u)=kH24!|27I@W8P7Ds&QD4BHs1)GGx|?^W-IefX}8KiQypT*LFG z(A8~$ZQkR53sZrd&{xgbi#v&`kZFyI_b;czVB>a6rMU&wur+H>BF6(-+-Wk`p1#m7 zBm*RX4W&Puos_UiD&RWa%1eif!eO6@r>rzi`@_s{y391zaG816k6bh`^2AzKD=DpC zlw{Enhnm?|M=9A#^0uVdEEm}tKRovxy64l%ABWz=Z)GZgz!6XSZBEuq>d7NQ}bIyroa?wA4X#3QffxwEbE@%J)a&;6htxx*$J&0Q z@k0L49$#hM&N_1x>06XCt4nhJ3onH-$p=KvX6x@6eYdqxS1*Rmm7vNbEPc^4I{K3e z&eYi0^$3Xen=4DNBO%S4Z3G}RhEdpUN=6*BKNTZfv!wgD>{Y0|&G|eAnQ1;m1$LcN zQ-yB_=7o<#VwcZle~9HR%o>INMwnApe<7CcvS=i}lM@*W)MdoP_G1tK4Di2hb=Cf< zl-|eH+8UprjA|u550@`4IMk(fWqkL<<6tuz`9c;ZXAf)frbIT_TCwdp84ZRUco&b z4Cycv{oue{D`#O5wD7y>Cz)err@}XWe=_WT3vr1PyyrhX4>-mzh_iD-Im|^r_^l7t z-ydB+6A9Yet7V5H?7srd@1$lEQoE925`HkAmQS9!7yQ%7scQbJD<1245Mr^A_F$!26=QkUPUw_>?R7?Dl7b?`PqtOefTr81PXdMLqC7} z_}7Tk__NL88B*}F!b`-SOh1zcYn&_PK2oWvtJ@w!(n3b5_xs*;-Kjlk{jsC`!`rUy zvc;TEpP}4jD~IfOsx)7*^gJQT{fVc(AW=`(Xn~>w~OLd_dY^v-p@^a$W zP1~jAE~h_FXID%CSrF^A$)G*shfVGKc3LXaLsjARQ%kb&adqCwQw>i7KAOz2{u;(V zBc%VpYDG+Jxaf_cfpk_IVe8=xMmgCHi!~(MC?om2mo1&zhG*lU=3?=J} zZ83$MMRF|-Xe-Qf217KT9`2|+k7+3{5kxyh%1gp4ZmIKFJoob?>W36~Pvo^SG7(XR zOG79lxaaG5VYFmB0;Gepq}DQ%Y|J?cH}6*YyBU+&slYAQP1hpRZ088uDk{sR!9J8_ zRvgGo&f+*gowL6}T2}slXMlH^i`QtE9193;4P;!YCFv%AkltbM&=Q zNOM9cO5nRXSld@k=2sTIn4P!uX6yL3d>Y$!D8>a|RC_2u@l#dk11$t4bDsKd6@slxx)xBi^Ws$);(jlG=qiV~@1+GAo>nh420b z`|pi84%>Mtlb|1i;`D&>`cZ1NYSjTn?-I2&Mr{rhU*A8+D;Ss$nee0zuztN0q#0lt|~=SW*Efp8LkxLc(yb`ufVC3L;q%F4>bGU=CY1qsYp z-+fYdQpGIc%oV9}<^EcKF2=VV*IYI}8y^;g*WWH|i;NIJB2B zqc{pG8gUq>AeNItYvk;UW^I{BZfyS1ZoOooGhL(3_tx4MT`|&8KBZvi7{QKpcOrnU zPpFC_KDzjxYf`N*{@7jDlGAgJW= z`Gvv@&6bCI(#1z2f>78x7rn2ZmAootIhb(^4#yDEFbHMd+B|xsNfo42?P1VRRqb9q z;xcX+L6%lhaUxpx$3rZ#b&P#yjiEiu17#b;72^^V)*t3=y<8Q^v(PNe5Gy@|x6DR4 z+&NHvFvAWx9o$9M=x3(8AuGXA>Shn(Rm|DC#w~p*WF;EdKl8jc~lf^ z!t8`cq`7lz%8sJqX7G>U0?I-&=~2Hs9KNSh?#8NrXCi>l6CX@_T6`ck<^B*3jQgj<}7D>Qg|{c4iO-PmgS?0GtTO z8uDffJx#mKrU93E!8Q%g=nWU|s?6;qs)eEz6-J0f3LtwZ31=6w`FIm$@#2)6VT5x> z!s{rp2q}3d3zzQ#Tj8bEQl4R769dYP@(XhA0ja~FGeqDlky}5Ola6R%Jb%1_Iuq3r zahNi8+4c{A@+) zkN2K83=oYMBZ}EV3H`U;AQgW8m3YTeM59#9pkUoBdwt?!etA3BaTL%GBG(enWOl_I zdhijXOX3HiP;Io=%9&ZbW+Yv=N9=ge-2?fRB}IcG(N6IM-8D0@oLRQAk4Gn~U zML!b?*LSpzG1=Klg>GRv%s$Jd|K!fO(wBLC2a2QGDrX;ptA{gx>_FwD`uxs9bXvCj z5MXCFyxZkz^UjI@jN+O+Pc7e-X` zdQV>zM=7g4dhJnZ4sp>P=SM}7&J{i93s3g6{OF^fYDEcfYX@gQQWCp)A+;nry%l&v z#0otm@&xz~KcM;_bBOR;?{OosLj1_k@Z<*WY-*h%$*rFT7tGVwwLqvOh`r{5amt?R zfS5EacEoqr52B}WHH~)IsTJ+4`DSHLu$X#sAVmf^L+E~%rXT;r|1{n*IEU7JZE0mO z4+R&Z8WX#ThBxSuXv~ThADy1B2$P?vNw*)ucSn4-CW}@UO_B`LN%|khZ*<8uO&YaB z+8WSXq6&pmVs`1EN_UG%{$I8Qz2@60_fn<>=cO-IKsF*nQCoE1*gNaSn!sdd7n(~S z*~Pk=SNg=K%H`t2!!zm1dCD#w#Jhc6gd<=uSoE|IR9f-W33*sxi-dRp}%3CKCGQX<|j0hI*f{-InsPX1jhnO5kjz^jA>e7-D|1Dj~l& zH!DIv&pgl+b?WA2i^!STy^JNW!jjh@j5jx<@ZkuBY>#Uz5KY@7oRp!2p zk@(&rfBjv6j>o+yC}~8jsu^^L;G4mzoKrn%qXfeqf*ji21yX_3D=x9u;(U0;N_w>KjbT7_;&&3hIu3{ z2k;;7H7J^ua5q_MYcFk6upZ~C70a6qNpZ>1yayuKywhU!!tt$AgX4Iot9@HFo@Qdl zsz2yPIQvD5W9526=3aMym4daukbM~TdQ#xlO)(Ue>njf7QdC=ch8k`D{$)CsG?$+m zlU|wsyt}Ed@$5}mVJfg%sq)R_KwWAmj8ocB{aox%&QT}bA6el*XxghW3j61oYW%Li)Ggik^PDj}uZ)SsW9nXe9@5W^A1%3WoeuvurT4(;7W$#$o ze@73Yd9e)Ihv+U3`m*@Xiu%&#%JT>D_{s4&b%YBJ zS@9s($`2)UnQ%I(>@hT%TR?l^kl`VEY$lG3nbCp~l@6>ca8Zszh_E@a6MMW6YWeDAE|IXOj) ztQ|!L?~4Lmfr2e@3^+(clX$VM^wo4L1~eK!SWotJwDycKqeF91V5uWqx_8NEblyt| zlWsEv2K|qaLW{3!kI?fO)pToOWHU+l$PtJn(4gHBOOz6}14k!_O1yg3^xv@%{o^(w zVh7*cmN~U(d=a(iubF&oL*gI5^QR{)q-mAl!76B;7I+}pNIVQ{jLJn(5s+Jg=~RbU zdXgNw|Hl_UsZCdy-+>Ex7$5}a^q>{9_lRo9`^3;(K|Jvzk`iAPM-so+< z`{*#?d-JV74mXuJ6wY6M9xHB_eRY5;lYt*4u^5D3CPFEo5b$jdY|^@YJ^cMd;&}Cq z#qlUQzQ8|EKm2lArN-XQWeGbHkg3Gw-jQl6ekJxuwU=3Ci{jFDiUl9%ooE=A7Gj~$ zLk@nBN#mG)ze_2`rcD0`d^8FcTpW2tw-WAxY+Ur!d9ewB-+!_*#+p4fZ8P|4qDasK zI+q(!VJ8(Z7oR0AS_I>r)sy68!V9laZBhltl_#Au-O+tDtHkTdO@&bvs>(!jspqDc z_9$q@@S(Zl&F}hlKcaA1)l)r|4~nC(z4{3esvo*(K!&(c1Q)az$EE&g7ZCMah5qC7 zw?-Ws&sXOf{nqrqsntmG*WjsDBdgmkBzCDIoXlS8XFAat;j})S_;hw?)0{OFbNn*&}2%C#C%-PyFT5}&t~%c8`?n7mdLC#G2# z?W9eF#T2)zW;sl)8TF@EO|x{=EJ_tIa!u0R$BZH!t^9OYAc;g35Dyp^uF~=Sr*)-s z2kUq`@s`R}EBTH_+39RnHNQ+TUS|ST=q^_JDI&AcGc&j1{xPG-5; z%Zz4Gy^Jd6M|+8bWcY~@$fZ)?ad-uMhr7e$!X!Rr_0~|?ny21<`@??4Ms|TF!paHA zBJ!}(mg8P5ld2+rdv88`EuKBC|JC4Il#xyiZiPK!(srP&&=VjlWP&zqf(c|zO z|Fe9B=lQDA#3zsNqt`tgV7L7e03F?oFT;<`c4o=wwcH!IKRR?-f7)+qA6NU#@c$RV z;rzRWo|QYH??HB9Av1@bOTw8KfRIaOSy8GzX-O)ilj1>dw^AxgUPNoaQ}Qjxy}OvM ztr}sS1}qDG(aW8D`C*VC7klW!!~yMx%D8~FY5S7VYVTY|DU-@J@z!mxB$Oy<2K1H} z6$SgwH+@U5=q0PQkzG*N+=mkkEoUrwoKi@)RAU~Eg-9sPb=mz4`g%?IT{GfYoHtST zn>EzASTA8cXB9d~r+>gNbZ@RNSYR%n)6`FKYrO{1LI@@(wrY4@S}gtS_wWbzFaLOQ z{{4xR|MHXnJr5oP31oHc*lG@@{hOKv5Z>7ZytMvyvV_BXyRKG`k(W>8Ze=jS^9-W| z=~3RWD6!U49B7=~PnoPl);zx>^N!={DBt*Pod$XLDYJ#!_VK2op^ZBgT zAz2&!(JHsG$rVi4Wva;?jl^@s)yf;@=ds%<_=|34L!E4jUc5PidC0PM&e_|ILnrK-egKa3 zPb<}2ZG33shOt|*o+_v)VorH_juz!)M;K=alEg1^P2kL-!$4#G!cJP{qVkx7=LAjP z8YU1wr3WlH>dnX-zmNi^5@w@;reLtYc95f{CF{qi_Cg;oHxJlFbVzXnF)_Z*v#03J z6JbGX!LoKCxU5*Pxs**%gGHPy{;cuS1|A&~+p?$esRLQ@E=G_?)=;!_xF50{4zD_XXy-o567ane#S z{v?!ocjXE6(DgE=|ITUKaBOY;h5F69lDzn?f>g@rU`}^cHA0lEENBrWB@b5fGlp&D z&qb>~NqRi|E}bx?oIY3PL{;`y+^9-azJYPY8pSR*bBn*;1$-tm>cD=4$&j7Xw~`M*CgvAwu7a}F zgjRx&TuL<(a-zs|(TrHM3y+{^3U~Fp7+q<0J9C9q=U(3`QpMGva=k6dlG#~Q4R0E} zzknu8(2wO-$qo)bwIep)cWm&%n{NV?oA4{2r%S8WRy0c5sJbMnICTS4MwyH-28SC1 zyE!x_uKXkZ|9^4c=?^=h3);x7^Ko|Pml-cv5cz1es|T1tGZI$FHAz-8yHtJ=VcX?; zshAfo8wL!-&c#b@OKPVk(K%_>YPIY6-&Dzvi=6uAvo9hu@12zV0HKKZIQPXTxu{c* z8xn0*6O!=gy`*#I2O|Gm>{f!unnuOF4bp92u5-1{t(SEfmdmc==41U&natD}l2Kg3 zNxhc6%Hh5JHr^0+JnMQdEo#~5T+tHAQkC@4t9VT;WP?{YChz59__p?PNi}>eLc>3u z-M(&8l>GzZ@LcGR1J;vGlX#z`F$zAY3=QFv?ilnmonz27Vj^K&xxB$k&#zNJk3 z3^*VMIMA+K8Q{I5+*QSNk^WKzUla61a>?aZy=VzK065TeJdUV&S*c2j;`pVB<$KMY3HdaLSE%zg8KTq6eoDL8XFO z`aE;TXpuGLc`xs}%}4s=8HQ)va5<;&UCd1wdEy@Vlp~i>=jTT@hu8<;oq{ z+{eX7in8FBpPz4c;?BiTS#V3PmA^!~Z54}WVf;uPKAs=G|TvF6@J zYvI{IV)9vW=II(c!KEjS{ADnUC&HE+fa~UOMKb_kEmh#WuzhDoP^zn~X5n)abYo_W zhJDh}^6igVxikaxj0}>I5{)#u0kP=*A)zw(`psk863gS8t#%`Ojg6C~83W9dIP4~N zrU9!x0T1vBO-{70b{zyPoV)FE6ZW^|JS>JA6xT`k8eEUyoNJA&g&3NBuN!AYK5e7k zAD_At=_!Az4=D{L{1E%PKj4?7J&M9YCQUD$M^=TwO|G4|lDT&Ep(L`No{lqn*+MeJ zYd?a8&(4;^3ZUd7GbxA&aFwGW;qU>}(<5{u%iPUSB@c;cOGi3D?T(pPgVlqaT~fYR zA6wOyi?_TZ?4urY*?X5+Cru7^){SJrlL|#CXwlw5QN66SR2;11%BwKtoCKG!oKkU-x^sgDON+-vw=k)aiY zU-2>&$HA(On&J1eAWH4pIee;xeQ`Q%*{QoPJGVSNnvEJv=|VEJQh9Yh$~qd1P!~4C z=PzIL2yO-7Dmb_}@qY?LgFwG~b^Uose;37fVIM8M8%D~I2*(RT!LQZ#u6CtvCPRg= z8d}qAo?NWc7;Wb{81y(NGt72KEkT#we-3aD@)k~3ryHlYdmRJ^SA2{8?`a2qrSAtc zl2*$)Rte3@P8m^N`b5A5RBqU%F}7Q*wnIpkonF^A@~6p=6k|cm9j~>oj)DXr${}eiJ1G}`m{n-H>%ulGLZUVF{P*8`U z!Y-5BRWI;xrjCp6(}smoPhm8Uwz+i;26Qt9)nlhDnwbeg%42B~ctjaR?3^wnB7B7H zfY674UFy*&JVQ1Hvy|t*`Ni*Ur!5bDH|hTmp>pouH$D>(hj6K7U*JNy@79XJV$_N& z|FJ>H(pY>Y(==2oBSj%t>|~e);+`Go_k++EOyc{tUaazlDo>Yh^{YWu; z^qore7f1%&BLBMICw6@L5Y+_$GcD%O1lbdS_=%Ykzu_f6d1r1vNRN^=*s|=kLirZ+ zRa%4k00jD9Yt~o�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 E51a$r3IG5A literal 0 HcmV?d00001 diff --git a/docs/assets/unicode-form-limits-2026-10-25/before-publication.png b/docs/assets/unicode-form-limits-2026-10-25/before-publication.png new file mode 100644 index 0000000000000000000000000000000000000000..44a2076c733152ef9d1f360f7a220a024e3b12e0 GIT binary patch literal 47533 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�EGkOGKNdG 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 literal 0 HcmV?d00001 diff --git a/docs/assets/unicode-form-limits-2026-10-25/home-background-error.png b/docs/assets/unicode-form-limits-2026-10-25/home-background-error.png new file mode 100644 index 0000000000000000000000000000000000000000..3d23694e9e3878af70bc2bdc4ed637c3ec910909 GIT binary patch literal 112640 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 Zj;?zhrs9+PRy5{rOZp&`MoaSPITNN@=f+})kv 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 literal 0 HcmV?d00001 diff --git a/docs/assets/unicode-form-limits-2026-10-25/verification.json b/docs/assets/unicode-form-limits-2026-10-25/verification.json new file mode 100644 index 0000000..0777686 --- /dev/null +++ b/docs/assets/unicode-form-limits-2026-10-25/verification.json @@ -0,0 +1,48 @@ +{ + "checked_at": "2026-10-25T22:16:23.909517+09:00", + "environment": "隔離した実FastAPIと背景の実ブラウザ。架空の文字列のみ使用。音声・外部AIなし。", + "browser": { + "room_name_limit": 120, + "background_limit": 4000, + "supplementary_background_utf16_length": 8000, + "oversized_name_retained": 121, + "oversized_background_retained": 4001, + "invalid_submit_blocked": true, + "keyboard_submit_blocked": true, + "ai_off_invalid_draft_retained": true, + "corrected_background": "短い背景", + "input_focus_retained": true, + "ai_off_background_hidden_only_after_save": true, + "cancelled_form_discarded": true, + "existing_room_reconnected": true, + "mobile_viewport_width": 390, + "mobile_document_width": 390, + "console_errors": 0 + }, + "api": { + "oversized_room_statuses": [ + 422, + 422 + ], + "oversized_ai_status": 422, + "saved_settings_preserved": true, + "saved_strategy": "off", + "saved_name_characters": 120, + "public_captions_before_save": 0, + "public_captions_after_save": 1, + "published_text": "展示の新しい見方を、一緒に探してみましょう。", + "human_edited": true + }, + "checks": { + "command": "bash scripts/check.sh", + "node": "22.23.4", + "frontend_passed": 145, + "backend_passed": 196, + "pyright_errors": 0 + }, + "audit": { + "separate_session": true, + "p0_p1_findings": 0 + }, + "audio_started": false +} diff --git a/docs/exec-plans/active/2026-10-25-unicode-form-limits.md b/docs/exec-plans/active/2026-10-25-unicode-form-limits.md deleted file mode 100644 index 5f636ae..0000000 --- a/docs/exec-plans/active/2026-10-25-unicode-form-limits.md +++ /dev/null @@ -1,39 +0,0 @@ -# ルーム名と背景の文字数をAPIへそろえる - -## Goal - -ルーム名とトークの背景でも、辞書と同じくUnicodeコードポイントで上限を判定する。 - -## Context - -#21のNode更新はPR #34でマージ済み。#19の辞書の制限値はバックエンドから生成する。調査ではhome.tsxのルーム名maxLength=120、背景maxLength=4000、ai-settings.tsxの背景maxLength=4000にも同じUTF-16による切り詰めが残っている。APIのPydanticはUnicode文字数で判定する。 - -## Scope and Non-Goals - -上記3入力の文字数、上限超過時の下書き保持と保存拒否、制限値の生成を対象にする。ルーム切替、API形式、認識Adapter、AIの要求内容、公開方針は変えない。 - -## Constraints From Decisions - -- 既存の未コミット6項目と別作業ツリーを保持する。 -- Viewは描画と通知のみ。入力検証はRoot/Mediatorなど既存の担当層へ置く。 -- 生成値はPydanticのOpenAPIから作り、手で生成物を編集しない。 -- 物理マイクと実音声サービスは使用しない。 - -## Remaining Work - -1. 3入力の所有者と保存前の検査を確認し、補助漢字の切り詰めを再現する。 -2. OpenAPIの上限値を生成し、入力の保存判定をUnicodeへそろえる。 -3. 実APIとブラウザで上限以内の保存と上限超過時の保持を確認する。 -4. 全チェックと別セッション監査、PR・CI・マージを完了する。 - -## Now And Next - -homeのRootとOperator Mediatorの保存処理を読み、既存の辞書の修正と同じ考え方で回帰テストを追加する。 - -## Blockers And Human Tasks - -なし。 - -## Verification - -ルーム名120文字、背景4000文字の補助漢字を入力でき、APIが受け付ける。超過時は明確なエラーを示し、下書きと保存済み設定を保持する。API型と既存のルーム保護を維持する。 diff --git a/docs/generated/README.md b/docs/generated/README.md index dbba51a..d44750a 100644 --- a/docs/generated/README.md +++ b/docs/generated/README.md @@ -8,6 +8,7 @@ API モデルを変更するときに参照する。生成の流れは次のと | OpenAPI の生成 | [scripts/export_openapi.py](../../scripts/export_openapi.py) → [openapi.json](openapi.json) | | TypeScript の生成 | `openapi-typescript` → [frontend/src/generated/api.d.ts](../../frontend/src/generated/api.d.ts) | | 辞書の入力制限と文字変換表 | [scripts/export_openapi.py](../../scripts/export_openapi.py) → [dictionary-rules.ts](../../frontend/src/generated/dictionary-rules.ts)。Pydanticモデルと同じ上限値、サーバーのPythonと同じUnicode case foldingを使う | +| ルーム名・背景の入力制限 | OpenAPI → [form-limits.ts](../../frontend/src/generated/form-limits.ts)。画面の保存前検査でAPIと同じ文字数を使う | 入力、操作画面用字幕、観客用字幕、セッション、表示切り替えの型をフロントエンドへ渡す。公開モデルの境界は[システム構成](../../ARCHITECTURE.md#api-と公開データの境界)を参照する。 diff --git a/docs/index.md b/docs/index.md index 76c5a6c..ee4e2c1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -22,7 +22,7 @@ | UDトークへ訂正を戻す接続を調べる | [編集通信の解析](research/udtalk-editor-protocol.md)・[公開資料](research/udtalk-editor-protocol-sources.md) | 純正編集アプリの要求形式、オフライン実行結果、復旧後の実反映と未確認事項 | | AIを選び、速度と費用を比較する | [AIの選択と振り分け](ai-routing.md) | GPT-6 Luna・GPT-6.1 Sol・Claude・Gemini、文脈と料金の根拠、振り分けと実接続の確認 | | 固有名詞・専門用語を登録する | [単語辞書](dictionary.md) | 表記・読み・誤認識例、認識と校正への反映、保存先 | -| API モデルを変更する | [API の型生成](generated/README.md) | 生成元、再生成、型の一致確認 | +| API モデルを変更する | [API の型生成](generated/README.md) | 生成元、再生成、型と入力制限の一致確認 | | 新しい機能の要件を検討する | [v0.2 の設計案](design-v0.2.md) | 将来要件、未確定事項、受け入れ条件の案 | | マイクから文字起こしする | [マイク入力](microphone-input.md) | OpenAI・Appleの準備、開始・停止、試験上限、確認範囲 | | クラウド音声認識を比較する | [クラウド候補の調査](research/2026-10-10-cloud-transcription.md) | Google・Azure・AmiVoice・AWS などの日本語対応、途中結果、料金、データの扱い | diff --git a/docs/rooms.md b/docs/rooms.md index bd75a5a..6e9da2f 100644 --- a/docs/rooms.md +++ b/docs/rooms.md @@ -8,6 +8,8 @@ 2. ルーム名と配信先を選びます。「UDトークへ反映」では編集用の参加リンク、「独立配信」では字幕の入力元を指定します。必要ならトークの背景を記入します。 3. 「登録して接続」を押します。登録済みのルームは一覧の「接続」から開けます。設定アイコンから名前・接続先・背景を変更できます。 +ルーム名は120文字、トークの背景は4,000文字まで入力できます。「𠮷」などの補助漢字も1文字と数えます。上限を超えた場合は入力内容を残し、保存前にエラーを表示します。 + 字幕入力の接続は同時に一つです。別のルームへ接続すると、前のルームの入力と処理中のAI校正を終了します。ルームを切り替えても、それまで受け取った字幕はルームごとに保持します。ホームへ戻る操作でも、現在の入力を終了します。 形式が不正なリンクと閲覧専用リンクは、接続を切り替える前に拒否します。保存済みの編集用リンクは画面へ返しません。接続先を変えるときだけ、新しいリンクを入力します。参加キーの有効性はUDトークの応答で判断します。 diff --git a/frontend/src/ai.ts b/frontend/src/ai.ts index 428f1bc..7e61912 100644 --- a/frontend/src/ai.ts +++ b/frontend/src/ai.ts @@ -1,3 +1,4 @@ +import { formLimits } from "./generated/form-limits"; import type { AiRouting, AiSettings } from "./domain"; export const defaultAiSettings: AiSettings = { @@ -22,3 +23,8 @@ export function editableAiSettings(ai: AiRouting): AiSettings { export function knownAiModel(value: string): value is AiSettings["preferred_model"] { return defaultAiSettings.candidates.some(model => model === value); } + +export function backgroundValidation(value: string): string { + return Array.from(value).length > formLimits.background + ? `トークの背景は${formLimits.background.toLocaleString("ja-JP")}文字以内で入力してください。` : ""; +} diff --git a/frontend/src/generated/form-limits.ts b/frontend/src/generated/form-limits.ts new file mode 100644 index 0000000..edec763 --- /dev/null +++ b/frontend/src/generated/form-limits.ts @@ -0,0 +1,2 @@ +// Generated from OpenAPI by scripts/export_openapi.py; do not edit. +export const formLimits = {"roomName":120,"background":4000} as const; diff --git a/frontend/src/machines/home.ts b/frontend/src/machines/home.ts index c932386..ce5bf49 100644 --- a/frontend/src/machines/home.ts +++ b/frontend/src/machines/home.ts @@ -1,5 +1,6 @@ +import { formLimits } from "../generated/form-limits"; import { assign, fromPromise, setup, type SnapshotFrom } from "xstate"; -import { defaultAiSettings } from "../ai"; +import { backgroundValidation, defaultAiSettings } from "../ai"; import { OperationError, type AiSettings, type HomeEvent, type RoomCatalog, type RoomDetails, type RoomsApi, type ViewEvent } from "../domain"; interface Form { @@ -28,6 +29,11 @@ const emptyForm = (): Form => ({ name: "", mode: "client", inputSource: "udtalk" const message = (error: unknown) => error instanceof OperationError ? error.message : "ルームの接続を確認できませんでした。もう一度お試しください。"; const knownRoom = (context: Context, event: HomeEvent) => "roomId" in event && context.catalog.rooms.some(room => room.id === event.roomId); +const roomFormValidation = (form: Form) => Array.from(form.name.trim()).length > formLimits.roomName + ? `ルーム名は${formLimits.roomName}文字以内で入力してください。` : backgroundValidation(form.ai.background); +const canSubmitRoom = (context: Context) => context.formOpen && Boolean(context.form.name.trim()) + && !roomFormValidation(context.form) && (context.form.mode === "host" || Boolean(context.form.editorUrl.trim()) || context.form.storedLink); + export const homeMachine = setup({ types: {} as { context: Context; events: ViewEvent; input: { api: RoomsApi } }, actors: { @@ -40,9 +46,9 @@ export const homeMachine = setup({ }, guards: { knownRoom: ({ context, event }) => knownRoom(context, event as HomeEvent), - validForm: ({ context }) => context.formOpen && Boolean(context.form.name.trim()) && (context.form.mode === "host" || Boolean(context.form.editorUrl.trim()) || context.form.storedLink), + validForm: ({ context }) => canSubmitRoom(context), submitKey: ({ context, event }) => event.type === "home.form.keypressed" && event.key === "Enter" && (event.ctrlKey || event.metaKey) && !event.isComposing - && context.formOpen && Boolean(context.form.name.trim()) && (context.form.mode === "host" || Boolean(context.form.editorUrl.trim()) || context.form.storedLink), + && canSubmitRoom(context), }, actions: { newForm: assign(({ context }) => ({ form: emptyForm(), formOpen: true, editingRoomId: null, message: "", focusVersion: context.focusVersion + 1 })), @@ -54,7 +60,7 @@ export const homeMachine = setup({ if (event.field === "editorUrl") form.editorUrl = event.value; if (event.field === "mode" && (event.value === "host" || event.value === "client")) form.mode = event.value; if (event.field === "inputSource" && (event.value === "udtalk" || event.value === "microphone")) form.inputSource = event.value; - return { form, message: "" }; + return { form, message: roomFormValidation(form) }; }), requestRoom: assign(({ event }) => "roomId" in event ? { requestedRoomId: event.roomId, message: "" } : {}), }, diff --git a/frontend/src/machines/operator.ts b/frontend/src/machines/operator.ts index b5b347c..6392a70 100644 --- a/frontend/src/machines/operator.ts +++ b/frontend/src/machines/operator.ts @@ -3,7 +3,7 @@ import { microphoneActor } from "./microphone"; import type { MicrophoneAdapter, MicrophoneDevice, TranscriptionStatus } from "../domain"; import { CaptionConflict, OperationError, disclosureIds, type DisclosureId, type ConnectionSettings, type ConnectionStatus, type AiRouting, type AiSettings, type Caption, type DisplaySettings, type Draft, type OperatorApi, type ViewEvent, type PublicationMode, type SaveRequest, type StatusTooltipGeometry } from "../domain"; import { changeDisplayField, defaultDisplay, selectDisplayPalette } from "../display"; -import { editableAiSettings, defaultAi, knownAiModel } from "../ai"; +import { backgroundValidation, editableAiSettings, defaultAi, knownAiModel } from "../ai"; import { defaultConnection } from "../connection"; import { dictionaryLimits, dictionaryUpdate, dictionaryValidation, draftDictionary, emptyDictionary, type DictionaryDraft } from "../dictionary"; import type { DictionarySnapshot, DictionaryUpdate } from "../domain"; @@ -62,6 +62,8 @@ interface OperatorContext { displayDraft: DisplaySettings | null; ai: AiRouting; aiDraft: AiSettings | null; + aiError: string; + aiBackgroundExpanded: boolean; dictionary: DictionarySnapshot; dictionaryDraft: DictionaryDraft | null; dictionaryError: string; @@ -161,7 +163,10 @@ const operations = { "display.palette.selected": { guard: "hostMode", actions: "editDisplay" }, "ai.background.changed": { actions: "editAi" }, "ai.model.selected": { guard: "validAiModel", actions: "editAi" }, - "ai.save.requested": { target: "settingAi", actions: "clearError" }, + "ai.save.requested": [ + { guard: "validAiSettings", target: "settingAi", actions: "clearError" }, + { actions: "invalidAi" }, + ], "dictionary.word.added": { guard: "canAddWord", actions: "addWord" }, "dictionary.word.changed": { guard: "knownWord", actions: "editWord" }, "dictionary.word.enabled": { guard: "knownWord", actions: "editWord" }, @@ -202,6 +207,7 @@ export const operatorMachine = setup({ connection: fromPromise(async ({ input, signal }: { input: { api: OperatorApi; settings: ConnectionSettings }; signal: AbortSignal }) => input.api.setConnection(input.settings, signal)), }, guards: { + validAiSettings: ({ context }) => !backgroundValidation((context.aiDraft ?? context.ai.settings).background), canAddWord: ({ context }) => (context.dictionaryDraft ?? draftDictionary(context.dictionary)).entries.length < dictionaryLimits.maxEntries, knownWord: ({ context, event }) => (event.type === "dictionary.word.changed" || event.type === "dictionary.word.enabled" || event.type === "dictionary.word.removed") && Number.isInteger(event.index) && event.index >= 0 && event.index < (context.dictionaryDraft ?? draftDictionary(context.dictionary)).entries.length, @@ -270,6 +276,7 @@ export const operatorMachine = setup({ && context.pendingSave?.captionId !== event.captionId, }, actions: { + invalidAi: assign(({ context }) => ({ aiError: backgroundValidation((context.aiDraft ?? context.ai.settings).background) })), discardDictionary: assign({ dictionaryDraft: null, dictionaryError: "", dictionaryNotice: "保存済みの辞書に戻しました。" }), clearDictionaryMessage: assign({ dictionaryError: "", dictionaryNotice: "" }), addWord: assign(({ context }) => { @@ -340,10 +347,10 @@ export const operatorMachine = setup({ }), editAi: assign(({ context, event }) => { const settings = context.aiDraft ?? editableAiSettings(context.ai); - if (event.type === "ai.background.changed") return { aiDraft: { ...settings, background: event.value } }; + if (event.type === "ai.background.changed") return { aiError: "", aiBackgroundExpanded: context.aiBackgroundExpanded || Boolean(backgroundValidation(event.value)), aiDraft: { ...settings, background: event.value } }; if (event.type === "ai.model.selected") { - if (event.modelId === "off") return { aiDraft: { ...settings, strategy: "off" as const } }; - if (knownAiModel(event.modelId)) return { aiDraft: { ...settings, strategy: "manual" as const, + if (event.modelId === "off") return { aiError: "", aiDraft: { ...settings, strategy: "off" as const } }; + if (knownAiModel(event.modelId)) return { aiError: "", aiDraft: { ...settings, strategy: "manual" as const, preferred_model: event.modelId, candidates: [event.modelId] } }; } return {}; @@ -413,7 +420,7 @@ export const operatorMachine = setup({ openedDisclosures: new Set(["display-speaker", "display-appearance"]), requestedMode: { auto_publish: true }, display: defaultDisplay, displayDraft: null, - ai: defaultAi, aiDraft: null, + ai: defaultAi, aiDraft: null, aiError: "", aiBackgroundExpanded: false, dictionary: emptyDictionary, dictionaryDraft: null, dictionaryError: "", dictionaryNotice: "", connection: defaultConnection, receiverUrl: "", connectionDraft: null, }), @@ -608,8 +615,8 @@ export const operatorMachine = setup({ settingAi: { invoke: { src: "ai", input: ({ context }) => ({ api: context.api, settings: context.aiDraft ?? context.ai.settings }), - onDone: { target: "idle", actions: assign(({ event }) => ({ ai: event.output, aiDraft: null })) }, - onError: { target: "idle", actions: assign({ error: "AI設定を保存できませんでした。設定内容は保持しています。", errorSource: "command" }) }, + onDone: { target: "idle", actions: assign(({ event }) => ({ ai: event.output, aiDraft: null, aiError: "", aiBackgroundExpanded: false })) }, + onError: { target: "idle", actions: assign({ aiError: "AI設定を保存できませんでした。設定内容は保持しています。" }) }, }, }, settingDictionary: { diff --git a/frontend/src/presenters/home.ts b/frontend/src/presenters/home.ts index 33d8243..079ff66 100644 --- a/frontend/src/presenters/home.ts +++ b/frontend/src/presenters/home.ts @@ -8,8 +8,9 @@ export function presentHome(snapshot: HomeSnapshot) { return { loading: snapshot.matches("loading"), failed: snapshot.matches("failed"), busy, newDisabled: !snapshot.can({ type: "home.new.requested" }), - message: context.message, destination: context.destination, formOpen: context.formOpen, + message: context.formOpen ? "" : context.message, destination: context.destination, formOpen: context.formOpen, form: { + message: context.message, name: context.form.name, background: context.form.ai.background, mode: context.form.mode, inputSource: context.form.inputSource, editorUrl: context.form.editorUrl, title: context.editingRoomId ? "ルームの接続設定" : "新しいルームに接続", diff --git a/frontend/src/presenters/operator.ts b/frontend/src/presenters/operator.ts index 74033a4..8de6167 100644 --- a/frontend/src/presenters/operator.ts +++ b/frontend/src/presenters/operator.ts @@ -87,6 +87,7 @@ export interface ToolbarParameters { } export interface AiParameters { + error: string; background: string; helpDisclosure: DisclosureParameters; comparisonDisclosure: DisclosureParameters; @@ -400,11 +401,12 @@ export function presentOperator(snapshot: OperatorSnapshot, roomId?: string): Op : "UDトークからの入力ではAI校正で参照します。自前の音声入力では認識にも使います。", }, ai: { + error: context.aiError, background: aiDraft.background, helpDisclosure: presentDisclosure("ai-help", context.openedDisclosures), comparisonDisclosure: presentDisclosure("ai-comparison", context.openedDisclosures), connectionWarning: context.ai.settings.strategy !== "off" && !context.ai.connected, - showModelSettings: aiDraft.strategy !== "off", + showModelSettings: aiDraft.strategy !== "off" || context.aiBackgroundExpanded, connectionDescription: context.ai.settings.strategy === "off" ? "AIはオフです。原文を受け取り、手動で訂正できます。" : context.ai.connected ? "確定した字幕を選択したAIへ送って訂正します。API利用料がかかります。" : "選択したAIのAPIキーが未設定です。サーバーにキーを設定して再起動してください。", diff --git a/frontend/src/rooms.test.tsx b/frontend/src/rooms.test.tsx index d44a842..5885098 100644 --- a/frontend/src/rooms.test.tsx +++ b/frontend/src/rooms.test.tsx @@ -66,6 +66,37 @@ it("registers a room from the form once and connects before navigating", async ( expect(api.connect).toHaveBeenCalledWith(room.id, expect.any(AbortSignal)); }); +it("saves supplementary Unicode at the room limits and retains oversized form input", async () => { + const api = rooms(); + render(); + const user = userEvent.setup(); + await screen.findByText(room.name); + await user.click(screen.getByRole("button", { name: "新しいルームに接続" })); + await user.selectOptions(screen.getByLabelText("配信先"), "host"); + const name = screen.getByRole("textbox", { name: "ルーム名" }); + const background = screen.getByRole("textbox", { name: "トークの背景" }); + const nameText = "𠮷".repeat(120); + const backgroundText = "𠮷".repeat(4000); + await user.click(name); await user.paste(nameText); + expect(Array.from(name.value)).toHaveLength(120); + await user.click(background); await user.paste(backgroundText); + expect(Array.from(background.value)).toHaveLength(4000); + fireEvent.change(name, { target: { value: nameText + "𠮷" } }); + expect(screen.getByRole("alert").textContent).toContain("120文字以内"); + fireEvent.submit(name.closest("form")!); + expect(api.save).not.toHaveBeenCalled(); + expect(Array.from(name.value)).toHaveLength(121); + fireEvent.change(name, { target: { value: nameText } }); + fireEvent.change(background, { target: { value: backgroundText + "𠮷" } }); + await user.keyboard("{Control>}{Enter}{/Control}"); + expect(screen.getByRole("alert").textContent).toContain("4,000文字以内"); + expect(api.save).not.toHaveBeenCalled(); + expect(Array.from(background.value)).toHaveLength(4001); + fireEvent.change(background, { target: { value: backgroundText } }); + await user.click(screen.getByRole("button", { name: "登録して接続" })); + await waitFor(() => expect(api.save).toHaveBeenCalledWith(expect.objectContaining({ name: nameText, ai: expect.objectContaining({ background: backgroundText }) }), null, expect.any(AbortSignal))); +}); + it("retains a rejected link for correction and can reconnect from the room list", async () => { const api = rooms(); vi.mocked(api.save).mockRejectedValue(new OperationError("編集用の参加リンクを確認してください。")); diff --git a/frontend/src/roots.test.tsx b/frontend/src/roots.test.tsx index de345d5..e1c315b 100644 --- a/frontend/src/roots.test.tsx +++ b/frontend/src/roots.test.tsx @@ -4,7 +4,7 @@ import { act, cleanup, fireEvent, render, screen, waitFor, within } from "@testi import userEvent from "@testing-library/user-event"; import { afterEach, expect, it, vi } from "vitest"; import { AudienceRoot, OperatorRoot } from "./roots"; -import type { AudienceEvent, Caption, OperatorApi, Snapshot } from "./domain"; +import type { AiRouting, AudienceEvent, Caption, OperatorApi, Snapshot } from "./domain"; import { defaultDisplay } from "./display"; import { defaultConnection } from "./connection"; import { viewHierarchy } from "./events/hierarchy"; @@ -636,6 +636,7 @@ it("routes fullscreen controls through the audience Mediator and releases both s }); const ai: AiParameters = { + error: "", background: "", helpDisclosure: { id: "ai-help", open: false }, comparisonDisclosure: { id: "ai-comparison", open: false }, connectionWarning: true, showModelSettings: true, @@ -768,6 +769,44 @@ it("selects a model directly and saves background after toggling AI off", async await waitFor(() => expect(api.setAi).toHaveBeenCalledWith(expect.objectContaining({ strategy: "manual", preferred_model: "claude-haiku-5-5", candidates: ["claude-haiku-5-5"], background: "写真と布の展示" }), expect.any(AbortSignal))); }); +it("saves supplementary Unicode background and retains an oversized AI-off draft", async () => { + let routing: AiRouting = { ...defaultAi, settings: { ...defaultAi.settings, strategy: "manual", preferred_model: "gemini-3.5-flash-lite" }, selected_model: "gemini-3.5-flash-lite", + models: ai.models.map(model => ({ id: model.id, label: model.label, provider: model.provider === "Gemini" ? "gemini" : "claude", + input_usd_per_million: 1, output_usd_per_million: 1, pricing_url: model.pricingUrl, pricing_checked_on: model.checkedOn, configured: false, latency_samples: 0 })), + }; + const api: OperatorApi = { + load: vi.fn().mockImplementation(() => Promise.resolve({ visible: true, captions: [], ai: routing })), + save: vi.fn(), setVisible: vi.fn(), sendTest: vi.fn(), setPublicationMode: vi.fn(), setDisplay: vi.fn(), setConnection: vi.fn(), setDictionary: vi.fn(), + setAi: vi.fn().mockImplementation(settings => { + routing = { ...routing, settings, selected_model: settings.strategy === "off" ? null : settings.preferred_model }; + return Promise.resolve(routing); + }), + }; + render(); + const user = userEvent.setup(); + await user.click(await screen.findByRole("button", { name: "AI設定" })); + const background = screen.getByRole("textbox", { name: "トークの背景" }); + const text = "𠮷".repeat(4000); + await user.click(background); await user.paste(text); + expect(Array.from(background.value)).toHaveLength(4000); + await user.click(screen.getByRole("button", { name: "AI設定を保存" })); + await waitFor(() => expect(api.setAi).toHaveBeenCalledWith(expect.objectContaining({ background: text }), expect.any(AbortSignal))); + fireEvent.change(background, { target: { value: text + "𠮷" } }); + await user.selectOptions(screen.getByRole("combobox", { name: "モデル" }), "off"); + expect(screen.getByRole("textbox", { name: "トークの背景" })).toBe(background); + await user.click(screen.getByRole("button", { name: "AI設定を保存" })); + expect(api.setAi).toHaveBeenCalledTimes(1); + expect(Array.from(background.value)).toHaveLength(4001); + expect(screen.getByRole("alert").textContent).toContain("4,000文字以内"); + await user.clear(background); + expect(screen.getByRole("textbox", { name: "トークの背景" })).toBe(background); + await user.type(background, "短い背景"); + expect(document.activeElement).toBe(background); + await user.click(screen.getByRole("button", { name: "AI設定を保存" })); + await waitFor(() => expect(api.setAi).toHaveBeenLastCalledWith(expect.objectContaining({ background: "短い背景", strategy: "off" }), expect.any(AbortSignal))); + await waitFor(() => expect(screen.queryByRole("textbox", { name: "トークの背景" })).toBeNull()); +}); + const toolbar: ToolbarParameters & { preparationHint: string } = { audienceHref: "/view/demo", helpDisclosure: { id: "publication-help", open: false }, preparationDisclosure: { id: "preparation", open: false }, diff --git a/frontend/src/views/home.tsx b/frontend/src/views/home.tsx index 083039c..a0febc4 100644 --- a/frontend/src/views/home.tsx +++ b/frontend/src/views/home.tsx @@ -15,7 +15,7 @@ function RoomFormView({ parameters }: { parameters: HomeParameters["form"] }) {

- emit({ type: "home.form.changed", field: "name", value: event.currentTarget.value })} /> } -