@minimalcorp/tsunagi 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  20. package/.next/standalone/apps/web/.next/server/app/index.rsc +2 -2
  21. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  22. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
  23. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  34. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  35. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05isylw._.js +1 -1
  37. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ro8-ey._.js +1 -1
  38. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  39. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  40. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  41. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  42. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  43. package/.next/standalone/apps/web/.next/static/chunks/{15.7-djf_199c.js → 0.x8varnp-h_t.js} +1 -1
  44. package/.next/standalone/apps/web/.next/static/chunks/{06_irvllfqezu.js → 06_62n-hhlvr-.js} +1 -1
  45. package/dist/server/routes/editor.js +4 -18
  46. package/package.json +1 -1
  47. package/scripts/monaco-editor.sh +4 -8
  48. /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_buildManifest.js +0 -0
  49. /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_clientMiddlewareManifest.js +0 -0
  50. /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_ssgManifest.js +0 -0
@@ -59,24 +59,10 @@ export async function editorRoutes(fastify) {
59
59
  }
60
60
  await writeFile(session.filePath, request.body.content, 'utf8');
61
61
  session.status = 'done';
62
- // sh が polling で "done" を検知して exit し claude が foreground に戻った後、
63
- // cols を一瞬変えることで SIGWINCH を発火させる。
64
- // rows 変更と異なり cols 変更では Ink が全画面クリア + 全 UI 再描画を行うため、
65
- // $EDITOR exit 後に blank になる余白が解消される。
66
- // 300ms: server が /complete を受信した時点が T=0。sh の polling(最大100ms) +
67
- // exit + claude foreground 復帰 で ~150ms。余裕を持たせた値。
68
- if (session.tabId) {
69
- const ptySession = ptyManager.getSession(session.tabId);
70
- if (ptySession) {
71
- const { cols, rows } = ptySession.pty;
72
- setTimeout(() => {
73
- ptySession.pty.resize(cols + 1, rows);
74
- setTimeout(() => {
75
- ptySession.pty.resize(cols, rows);
76
- }, 100);
77
- }, 300);
78
- }
79
- }
62
+ // Ink の <Static> 再 emit を発火させる cols bump はフロントエンド (TerminalView)
63
+ // 側で行う。理由: ユーザー操作の window resize と同等の挙動(xterm と PTY が
64
+ // 同時に新サイズになる)にしたいため。サーバー側で PTY だけ resize すると xterm
65
+ // との dimension mismatch が発生する。
80
66
  return reply.send({ ok: true });
81
67
  });
82
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimalcorp/tsunagi",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Multi-repo GitHub project management with Claude AI integration, designed for visualizing and controlling AI-driven development locally.",
5
5
  "keywords": [
6
6
  "tsunagi",
@@ -18,12 +18,11 @@ if [ -z "$TMPFILE" ]; then
18
18
  exit 1
19
19
  fi
20
20
 
21
- # 代替画面 (alt screen) に切り替えて script の出力を claude の描画領域から隔離する。
22
- # vim/nano 等の通常の $EDITOR と同じ作法。これをやらないと script の stderr 出力が
23
- # main buffer に積まれて、claude の Ink renderer の位置情報と実画面がズレ、
24
- # $EDITOR 終了後の描画に余白が生じる。
21
+ # alt screen に切り替えて $EDITOR フローの間は main buffer を凍結する。
22
+ # vim/nano 等の通常の $EDITOR と同じ作法。これにより:
23
+ # - sh script の(潜在的な)出力や claude の Ink 再描画の副作用が main buffer に影響しない
24
+ # - sh exit 時の `\033[?1049l` で main buffer が pre-Ctrl+G 時の状態に完全復元される
25
25
  printf '\033[?1049h'
26
- # どんな経路で終了しても alt screen から確実に復帰させる
27
26
  trap 'printf "\033[?1049l"' EXIT
28
27
 
29
28
  # エラー報告用: alt screen から抜けてから stderr に出す
@@ -46,9 +45,6 @@ if [ -z "$SESSION_ID" ]; then
46
45
  fi
47
46
 
48
47
  # 完了までポーリング(無制限、0.1秒間隔。Ctrl+C で中断可能)
49
- # 速めの polling 間隔にしているのは、Cmd+Enter Submit 後に sh が foreground PG から
50
- # 抜けるまでの遅延を最小化するため(TerminalView 側の resize nudge が claude に
51
- # 届くように)。
52
48
  # レスポンスはプレーンテキスト "done" or "pending"(JSON パース不要)
53
49
  while true; do
54
50
  STATUS=$(curl -sf "$API_BASE/api/editor/session/$SESSION_ID" 2>/dev/null || echo "pending")