Releases: keishingu/Cairn
Releases · keishingu/Cairn
Release list
v1.3.0
リリースノート
このリリースでは、システム全体のパフォーマンス向上と、ユーザー体験を改善するための新機能を多数追加しました。また、多くのバグ修正を行い、安定性を向上させました。
新機能
- モバイルチャットのWeb表示との整合性を向上しました。
- マイルストーン管理のための詳細UIを追加しました。
- マイルストーンチャット導線のためのPhase 1基盤を導入しました。
- メンバーのアーカイブ(非活性化)UIを追加し、非活性化/再活性化のライフサイクルと管理APIを強化しました。
- トップページを未認証でも閲覧できる公開LPにするため、ルーティングを再構成しました。
- メッセージ検索高速化のため、trigram indexを追加しました。
- 既存画像へのサムネ後付けとオリジナルのリサイズ保存を行う機能を追加しました。
改善・変更
- 全APIでの認可の二重照会を無くし、パフォーマンスを向上させました。
- 全ナビゲーション・全APIでのAuth API往復を無くし、JWTをローカル検証に切り替えました。
- 帯域削減のため、カバー画像の圧縮保存を行うようにしました。
- 帯域・描画コスト削減のため、アップロード時にサムネイルを生成するようにしました。
修正
- 対称鍵運用中に無駄なJWKS往復が発生していた問題を修正しました。
- チャンネル切替時の状態混入やキャッシュの問題を修正しました。
- アプリがバックグラウンドの間は既読化を停止するように修正しました。
- リアクション失敗時の表示や既読化競合の問題を解消しました。
- 非活性メンバーへのタスクとチャンネル露出を防止しました。
- 招待復帰でのowner降格バイパスと同時archiveのデッドロックを修正しました。
- AIチャットAPIの過大入力悪用を防止しました。
- モバイルカレンダー作成後のチャネル反映漏れを防止しました。
- 署名付きアップロードでのMIMEタイプの問題を修正しました。
- タスク操作導線の統一のため、編集削除メニューを追加しました。
変更コミット一覧
- fix: 対称鍵運用中に無駄なJWKS往復が発生していたため、非対称鍵と判明した場合のみ取得するよう修正 (a040c0e)
- perf: 全APIでの認可の二重照会を無くすため、getAuthContext に role を含めて再利用 (02e1bc7)
- perf: 全ナビゲーション・全APIでの Auth API 往復を無くすため、JWT をローカル検証に切り替え (3990c67)
- fix: チャンネル切替時にfetch追跡refをリセットし前チャンネルの状態混入を防ぐ (0a69374)
- fix: アプリがバックグラウンドの間は既読化を止める (d685113)
- fix: リアクション失敗を表示し、refetch中の既読化競合を解消 (f6348aa)
- fix: チャンネル切替時のキャッシュ既読化と401生表示を修正 (5d4272d)
- fix: 送信失敗時の401/403生表示と、チャンネル切替後の古い送信結果混入を修正 (1b0b0b1)
- fix: チャンネル切替時の下書き残留と403アクセス拒否の生表示を修正 (339c6a0)
- fix: バックグラウンド既読化・送信後エラー波及・タブバッジ未集計を修正 (84cf7e9)
- feat: モバイルチャットのWeb表示との整合 (d0b4efc)
- fix: 既読化APIのエラー応答を握りつぶさず、失敗した取得を既読化に使わない (1878505)
- fix: 送信失敗時にエラー表示し、既読化を失敗時リトライ可能にする (ed41bd0)
- fix: チャットスレッドの戻り先を一覧へ固定 (5a86377)
- fix: ネイティブナビとPRプレビューの接続維持 (3ded58a)
- fix: 予定行に応じたカレンダー余白 (5fce082)
- fix: カレンダー予定の余白整理 (df385b2)
- fix: カレンダーで予定文脈を読み取るための表記 (3cc6d41)
- feat: マイルストーンのカレンダー重畳 (0fd2fd1)
- fix: マイルストーン編集時のEnter誤遷移を防止 (b50356c)
- fix: マイルストーン日程表示の誤認を防止 (be1aefd)
- feat: マイルストーン時刻設定と階層表示の追加 (855f086)
- fix: 招待復帰でのowner降格バイパスと同時archiveのデッドロックを修正 (ec8c877)
- fix: 招待復帰の重複claimを防止 (e554fac)
- fix: 非活性メンバーへのタスクとチャンネル露出を防止 (9adf6ed)
- fix: 非活性メンバーをプロジェクト現役一覧から除外 (f9df9ad)
- fix: ゲスト招待復帰のスコープ初期化を原子的に実行 (6db89a0)
- fix: アーカイブ前に対象メンバー行をロック (2f8303c)
- fix: 非活性ownerの降格でactive owner判定を省略 (87bf943)
- fix: メンバー状態遷移の検索同期とowner判定を保護 (280f56e)
- fix: AIチャットAPIの過大入力悪用防止 (51fefd7)
- fix: メンバーアーカイブ時の整合性維持 (ee64f6d)
- fix: 非活性メンバー一覧の露出を管理用途に限定 (39d2c9a)
- fix: 再インデックス時に非活性メンバーの検索チャンクを削除 (fe2a5fb)
- fix: ゲスト復帰で旧所属が再利用されない制御 (e0ba6a2)
- fix: 候補リストから非活性メンバーを除外 (a9ed117)
- fix: active owner 不在を防ぐ降格判定 (dbde020)
- fix: 招待復帰でリンク条件と権限を反映 (289772f)
- feat: マイルストーン管理のための詳細UI (7e7930d)
- feat: マイルストーンチャット導線のためのPhase 1基盤 (c87ae9b)
- fix: ゲスト招待リンク作成後の一覧更新漏れ解消 (922eff1)
- fix: 未読招待一覧の空キャッシュ生成防止 (dde2390)
- refactor: members系UIの責務分離のため、Domain Hook化 (19f7958)
- fix: POST /api/projects/statuses に name の最大長制約を追加 (bbf092a)
- fix: canAccessViaAnyChannel がゲストのチャンネルアクセスを正確に評価するよう修正 (495aab3)
- fix: Codexレビュー指摘3件を修正 (d3fdb41)
- fix: 認証順序・Zod検証漏れ・N+1クエリ・レスポンスBody露出を修正 (7d2ab16)
- fix: ステータス取得失敗時のUI破綻防止 (eb0b3dc)
- refactor: project系画面の責務整理のため、Domain Hook化を推進 (0fdafec)
- refactor: sidebarのDomain Hook化のため、直fetchを整理 (0a0fa12)
- refactor: tasksページのDomain Hook化着手 (8f41b69)
- fix: ネイティブチャットで添付ファイルのみのメッセージが空白表示になるのを修正 (a5324fa)
- fix: 既読化を取得直後まで遅延させ、未表示の新着を既読にしない (436575e)
- fix: ポーリング中に届いたメッセージも既読化し、未読バッジの残留を防ぐ (e66c4ae)
- feat: ネイティブチャットスレッド画面を追加し、オフライン閲覧の前提を整備 (55dcc4d)
- fix: 非活性メンバーが残る派生行経由でアクセス・通知・オンボーディングから漏れる不具合を修正 (e7fcef2)
- refactor: メッセージAPI責務分離のため、handler整理 (9e8edcd)
- feat: メンバーのアーカイブ(非活性化)UIを追加 (c793f72)
- feat: 非活性化/再活性化のライフサイクルと管理API、招待経由の復帰を追加 (458fc0b)
- feat: 認可の入口を通らない直接 read と Storage/Realtime も active membership に統一 (c678e48)
- fix: モバイルサインアウト導線の維持 (b4df0d7)
- fix: WebView導線の取り違え防止 (28e37f7)
- fix: 通知タブの障害判別不能防止 (47895b8)
- fix: ネイティブ導線維持のため、WebView状態と通知遷移を補強 (5c8c93b)
- fix: ネイティブタブ到達性維持のため、欠落導線を補完 (19bdb88)
- fix: ネイティブタブ到達性のため、WebViewフッター競合を解消 (e445f6f)
- feat: 非活性メンバーを認可の入口で構造的に遮断するため、active membership 集約基盤を追加 (d953dce)
- fix: workspace表示名の読み取り漏れ解消 (374e9cf)
- fix: 表示名をワークスペース単位で保持 (cc525e0)
- fix: Realtime再接続競合の防止 (233c962)
- fix: 再接続表示が残り続ける問題の緩和 (499b772)
- fix: 招待受け入れ期限判定の競合防止 (9dfc950)
- fix: 招待受け入れの期限競合防止 (7bf0ac8)
- fix: snake_case件名の誤表示防止 (29419ff)
- feat: 帯域削減のため、カバー画像の圧縮保存 (9772115)
- fix: タスク件名表示のMarkdownノイズ除去 (d50a30c)
- refactor: LPを正規URLのみで配信 (82c2c13)
- fix: 旧LP素材リダイレクトを同一オリジンに制限 (c1e8ddc)
- fix: LP素材を未認証で配信 (3f17f8e)
- refactor: LP素材を直下配信に揃えるため、public配下へ移動 (76a1783)
- fix: 署名付きアップロードでもサムネイルを生成 (b2b32a1)
- fix: LP正規化時に流入パラメータを維持 (f7aea12)
- fix: 初期描画で既定ペルソナを適用するため、LPに属性を追加 (3b401d3)
- fix: GitHubリポジトリへ直接遷移するため、ヘッダーリンクを修正 (115de91)
- feat: LPのSEO改善のため、OGPと直配信を整備 (c0a8133)
- feat: 利用者に刺さる訴求へ転換するため、LPコンテンツを全面改稿 (fbfcc6c)
- fix: モバイルカレンダー作成後のチャネル反映漏れ防止 (b3dba35)
- fix: 新規プロジェクト文言の案件管理UIへの整合 (48cbb86)
- fix: 週表示の重複日程追加導線の欠落を修正 (a5ea824)
- feat: トップページを未認証でも閲覧できる公開LPにするため、ルーティングを再構成 (c5df0cf)
- fix: 署名付きアップロードで正規化MIMEが失われCSVアップロードが失敗するため、File.typeを正規化後の値でラップ (3e0c94a)
- fix: Vercelの4.5MBボディ上限で大きめの添付が413になるため、署名付きURL直アップロードに変更 (cd469c4)
- refactor: プロジェクト一覧テーブルの不要な「…」ボタンを削除 (bd361bb)
- fix: テーブルラッパーの最小幅がグリッド実寸と不一致だったのを修正 (c845510)
- fix: 詳細パネル表示時にテーブルの日本語タイトルが縦一文字ずつに崩れるのを修正 (1bdf4b8)
- fix: AI履歴再読込の肥大化防止のため、直近40件に制限 (76aaf4d)
- fix: animated avatar誤変換防止のため、事前拒否を追加 (50ec837)
- fix: モバイル月表示で複数予定追加導線の欠落解消 (c24a467)
- fix: migration適用順エラー回避のため、trgm migrationの時刻修正 (0dba418)
- fix: N+1クエリ・入力検証漏れ・例外処理不備を修正 (f37af69)
- fix: 未対応なppt選択防止のため、detail panelの許可形式整理 (28448f6)
- fix: 対応済み添付形式の選択漏れ防止のため、detail panelの許可拡張 (3e0e89c)
- fix: タスク作成と編集のモーダル分岐解消 (5bffd8c)
- fix: タスク削除時の不要な編集モーダル表示防止 (5a61d89)
- fix: プロジェクト作成時のメンバー上限不整合を解消 (1e96793)
- fix: timestamp採番統一のため、検索migration名を修正 (bb0988c)
- fix: プロジェクト作成時のメンバー追加導線整備 (6e7adee)
- fix: モバイル予定作成の重複表示防止 (6790c73)
- fix: アバターGIF誤変換防止 (5b7d54d)
- fix: モバイルカレンダー作成導線の権限制御統一 (890a62d)
- fix: モバイルのカレンダービューから予定作成できない問題の修正 (cb7a3fd)
- fix: 透過アバター維持のため、画像再エンコードを修正 (b371f98)
- fix: 部分失敗時の見落とし防止のため、ファイル一覧再取得を修正 (e60a747)
- fix: detail panelからのファイル追加導線欠落の解消 (0bde905)
- fix: Drizzle schema同期のため、messages trigram index定義を追加 (06fc3c8)
- feat: メッセージ検索高速化のため、trigram index追加 (99c5456)
- fix: txtプレビュー誤判定防止のため、拡張子優先へ修正 (4f7df47)
- fix: txtファイル確認性向上のため、プレーンテキストプレビュー追加 (607a63e)
- fix: AI履歴の時系列維持のため、POST再構築を修正 (e1a2188)
- fix: AI履歴復元の順序不整合防止 (182a8b7)
- fix: タスク操作導線喪失防止のため、常時メニュー表示を追加 (1630245)
- fix: AI履歴取得の型不整合回避のため、createdAt正規化を追加 (1209d68)
- fix: 同時刻AI履歴の逆転防止のため、順序正規化を追加 (8b90bd0)
- fix: 過去履歴の再送でAI送信が失敗するため、最新user入力のみ検証 (2e8ed59)
- fix: AIチャットAPIの入力検証と履歴管理強化 (33221af)
- fix: HEIFアバター失敗回避のため、変換対象拡張 (25cd44f)
- feat: 形式を判別できない添付には、拡張子付与を促すエラーを表示 (cbd1b6d)
- fix: アバター更新時の大画像アップロード失敗回避 (a130468)
- fix: 拡張子無し・octet-streamのPDF添付が弾かれるため、マジックナンバー判定を追加 (74dff73)
- refactor: タスク編集作成ダイアログ共通化 (7a9b2ab)
- chore: 添付アップロードの400要因を特定するため、拒否理由のログを追加 (539a55c)
- fix: ブラウザがMIMEを判定できないPDF添付が弾かれるため、拡張子からMIMEを補完 (3a1a48e)
- fix: タスク操作導線の統一のため、編集削除メニューを追加 (3ac15b8)
- fix: タスク削除後の件数不整合防止のため、projects再取得を追加 (f89df79)
- fix: タスク更新・削除の権限抜け防止 (31d8e81)
- fix: タスク編集削除導線不足のため、手動タスク編集導線を追加 (69a3e64)
- fix: アニメ原本の縮小回避とバックフィルの前進保証 (2deb876)
- fix: バックフィルのギャラリー除外とプロジェクト削除時のサムネ削除 (48ef62f)
- fix: アニメ画像の保護とサムネ生成失敗時の契約遵守 (1078c4a)
- feat: 既存画像へのサムネ後付けとオリジナルのリサイズ保存 (4424a7f)
- feat: 帯域・描画コスト削減のため、アップロード時サムネ生成 (c913000)
v1.2.0
リリースノート
このリリースでは、ユーザーエクスペリエンスの向上を目的とした新機能の追加と、パフォーマンスの改善が行われました。また、多くの不具合修正により、より安定した操作が可能になりました。
新機能
- サイドバーのファイルクリック挙動をチャット本文と統一しました。
- プロジェクト概要のタスクを折りたたみ表示し、未完了タスクを優先的に表示するように変更しました。また、チャンネルのファイル一覧を追加しました。
- チャットの会話追跡性を向上させるため、引用返信、パーマリンク、ブックマーク機能を追加しました。
- チャット添付でPowerPointおよびCSVファイルを送信できるように対応形式に追加しました。
改善・変更
- スマートフォンでのタブ切替時のパフォーマンスを改善し、再マウントとシェル再レンダーを解消しました。
- スマートフォンでプロジェクトパネルが固まる問題を解決するため、チャットのMarkdown再パースをメモ化しました。
- プロジェクトを開くボタンの位置とサイドバー表記を調整し、ユーザビリティを向上させました。
- スマートフォンでのチャット入力時にEnterキーを改行として機能させ、誤送信を防止しました。
修正
- チャンネルファイル一覧APIをワークスペース単位に絞り込みました。
- Codexレビュー指摘に基づき、複数チャンネル対応、削除済みメッセージの除外、送信順序の問題を修正しました。
- ネイティブファイル選択ダイアログで.csvが除外される問題を修正しました。
- MIME未指定の.csvが正規化から漏れる問題を解決しました。
- pptxファイルの数値文字参照が未デコードで検索インデックスに壊れた文字が残る問題を修正しました。
- UTF-8がU+FFFDを含む場合にCP932へ誤フォールバックする問題を修正しました。
- Shift_JIS(CP932)で書き出されたCSVが文字化けする問題を修正しました。
- CSVがapplication/vnd.ms-excelとして報告される環境で検索対象外になる問題を修正しました。
- chat-attachmentsバケットのMIME許可リストを更新し、pptx/CSVアップロードが失敗する問題を修正しました。
- pptxファイルのスライド並び替え後の表示順を解決しました。
- pptxファイルの手動改行・タブが消える問題を修正しました。
- pptxファイルのラン分割で単語が分断される問題を修正しました。
- xml:space="preserve"属性付きのpptxテキストが抽出から漏れる問題を修正しました。
- PCで長文引用返信がパネル幅を超えて省略されない問題を修正しました。
- 送信/編集直後の引用返信でメンションが不明になる問題を修正しました。
- PCの引用返信バーでのレイアウト崩れとメンション未解決の問題を修正しました。
- メッセージリアクション・チャンネルメンバー追加のIDOR、エラー隠蔽の問題を解消しました。
- 古いメッセージへのジャンプが効かないケースを修正しました。
- ブックマークのアクセス制御漏れとジャンプ失敗を修正しました。
- チャット復元のレースコンディションを回避しました。
- チャット再訪時に前回のチャンネルを復元する機能を追加しました。
- プロジェクト詳細のチャットタブでモバイル時のEnter誤送信を防止しました。
- Google再接続でカレンダー選択が維持されない問題を修正しました。
- 期限切れGoogle連携の復旧のため、設定画面に再接続導線を追加しました。
- メンバー一覧表示のため、不要な全件email解決を回避しました。
- プロフィール確認のため、hover時のemail表示を追加しました。
- 手動診断項目の状態表示を明確化しました。
- dev/statusをowner限定にして手動診断化しました。
- 引用返信で他チャンネルの内容が漏れるのを防ぐため、親メッセージを同一チャンネルに限定しました。
- 閲覧権限のないメッセージのブックマークを防ぐため、ブックマークAPIに可視性チェックを追加しました。
変更コミット一覧
- perf: スマホでタブ切替が重いため、再マウントとシェル再レンダーを解消 (2eceee1)
- perf: スマホでプロジェクトパネルが固まるため、チャットのmarkdown再パースをメモ化 (d87b082)
- fix: チャンネルファイル一覧APIをワークスペース単位に絞り込み (ad082ba)
- fix: Codexレビュー指摘(複数チャンネル対応・削除済みメッセージ除外・送信順序)を反映 (379af90)
- feat: サイドバーのファイルクリック挙動をチャット本文と統一 (0bddd31)
- fix: プロジェクトを開くボタンの位置とサイドバー表記を調整、レビュー指摘を反映 (3065fc2)
- feat: プロジェクト概要のタスクを折りたたみ・未完了優先に変更、チャンネルのファイル一覧を追加 (a36dbcd)
- fix: ネイティブファイル選択ダイアログで.csvが除外される環境があるため、accept属性に拡張子を追加 (7cdec26)
- fix: MIME未指定の.csvがformData経由でoctet-streamになり正規化から漏れるため、対応する (3ca415e)
- fix: pptxの数値文字参照が未デコードで検索インデックスに壊れた文字が残るため、対応する (317c1c3)
- fix: 有効なUTF-8がU+FFFDを含む場合にCP932へ誤フォールバックするため、fatalデコードで判定する (f602935)
- fix: Shift_JIS(CP932)で書き出されたCSVがUTF-8前提のデコードで文字化けするため、対応する (e111cba)
- fix: CSVがapplication/vnd.ms-excelとして報告される環境で検索対象外になるため、拡張子で正規化する (06058b8)
- fix: chat-attachmentsバケットのMIME許可リストが未更新でpptx/CSVアップロードが失敗するため、追加する (6e4a98e)
- fix: pptxのスライド並び替え後にファイル名連番で抽出順が狂うため、表示順を解決する (3aa0660)
- fix: pptxの手動改行・タブが消えて単語が結合するため、区切り文字に変換する (fc3e10d)
- fix: pptxのラン分割で単語が分断されるため、段落単位で連結する (cd0ca69)
- fix: レガシーPowerPoint(.ppt)がアップロードだけ通り検索対象化されないため、対応から外す (6968747)
- fix: xml:space="preserve"属性付きのpptxテキストが抽出から漏れるため、正規表現を修正 (119909e)
- feat: チャット添付でPowerPoint・CSVを送れないため、対応形式に追加 (0bdb184)
- fix: PCで長文引用返信がパネル幅を超えて省略されないため、親カラムにmin-width:0を付与 (6640acd)
- fix: 送信/編集直後の引用返信でメンションが@不明なメンバーになるため、名前解決を渡す (c352964)
- fix: PCの引用返信バーでレイアウト崩れとメンション未解決が起きるため、省略表示とメンション可読化を修正 (975be91)
- fix: メッセージリアクション・チャンネルメンバー追加のIDOR、エラー隠蔽を解消 (f910bbf)
- fix: 古いメッセージへのジャンプが効かないケースを修正 (f464caf)
- fix: ブックマークのアクセス制御漏れとジャンプ失敗を修正 (717487b)
- fix: チャット復元のrace回避 (41bd8c0)
- fix: チャット再訪導線のため、前回チャンネル復元を追加 (bb0c9b9)
- fix: プロジェクト詳細のチャットタブでモバイル時のEnter誤送信を防止 (ee8c73e)
- fix: 非活性化スキーマ着手のため、在籍状態カラムを追加 (af5a18f)
- fix: スマホでの誤送信防止のため、チャット入力のEnterを改行に変更 (3a7da51)
- fix: Google再接続でカレンダー選択維持漏れの修正 (9038a29)
- fix: 期限切れGoogle連携復旧のため、設定画面に再接続導線を追加 (6292edc)
- fix: member一覧表示のため、不要な全件email解決を回避 (dc3c3b2)
- fix: invalid_grant再接続導線維持のため、JSON差分に強い判定へ修正 (1212fde)
- fix: 期限切れGoogle連携で設定画面が落ちるため、再接続導線を修正 (5dc61c6)
- fix: プロフィール確認のため、hover時のemail表示追加 (8964026)
- fix: 手動診断項目の状態表示明確化 (129a226)
- fix: 手動診断UI誤認防止のため、接続状態ラベルを修正 (acbf61a)
- fix: dev/status を owner 限定にして手動診断化 (51d45db)
- fix: 引用返信で他チャンネルの内容が漏れるのを防ぐため、親メッセージを同一チャンネルに限定 (7367af6)
- fix: 閲覧権限のないメッセージのブックマークを防ぐため、ブックマークAPIに可視性チェックを追加 (baa32c0)
- feat: チャットの会話追跡性向上のため、引用返信・パーマリンク・ブックマーク等を追加 (1ce3a0b)