コンテンツへ移動
KAMOUniverse

チェンジログ

何が新しいの?

プラットフォームのすべての改良 それが出荷される

  1. · kamo-shared-library

    フェイルオープンをオフにするとコストがかかる

    kamo.entitlement.fail-open は、計画行列が決して言及しないアプリを付与します。 お問い合わせ カタログのバックフィルの一時的なバルブとして文書化 — 一度オフにします 行列は見られますが、質問に答えることはできません。 それをオフにすることは安全です:テナントがそれのためにだけアプリを保持しているか。 ブラインドを反転すると、ライブ組織からアプリを奪われ、 通知として最初のサポートチケット。 fetOpenGrantsは2回各組織を解決し、アンメンションされたアプリを付与する そしてそれらを否定し、相違を報告して下さい。 ライブは読みません フラグなので、フリップ前後に同じ応答を与えます。 re-resolution は、直接プラン ID ではなく、resolutionPlan を経由します。 実際のパスのフォールバックをプランコードのルックアップに映し出す - そうでなければ、その 事実は、損失として報告され、生き残るだろう.

  2. · kamo-internal

    誰かがそこにいるかどうかを表示し、その拡張

    すべての行は、名前の横にある存在の点と単語、およびその拡張子を運びます 細部の線で — つまり、名前を選ぶことがなくなり、 お問い合わせ これはアプリ内の一人の人がいるので、マネージャーに着陸します フィールド、電子署名者、チャットに追加し、サポートを割り当てます。 オフラインは宣言されたものを打ち負かします。 Availability status はサインインのみで動作します。 サインアウトとマニュアルトグル、だから、兆候が見えない誰か indefinitely — 緑色の点として自信を持って間違っていることを示す ドットが1つあります。 接続されていないと、輪郭のリングではなく、 ドットを埋めるので、別のステータスの色ではなく、不在として読みます。 「fetcher」の背後にあるメモリ内ソースの存在を決して果たさないディレクトリ — インジケータはまったく表示されません。 不在は不明で、未知は何も言わない 誰がオフラインであるかを主張するのではなく.

  3. · SecurityService

    ディレクトリ行の可用性、プレゼンス、拡張機能

    行がそこにいるかどうか、どのように言うと、人を選ぶのは簡単です それらに到達するので、それぞれが宣言された最後のものを運ぶようになりました。 自分の仕事は実際に接続され、その作業の延長が1つあるとき。 可用性とプレゼンスは、単独の誤解のためにここにあります: Availability status はサインイン、サインアウト、マニュアルトグルのみで動くので、 決して署名しないメンバーは、無期限に読み込まれます。 プレゼンス:{memberId} 重要な MediaService は書きます — クロスサービスの読み込み価値のあるネーミング. 代替品はHTTPラウンドトリップでした 検索のキーストローク、またはブラウザのプレゼンスを読み込みます。 そして、ブラウザはできない: ToolProvidersはツールドックを兄弟としてレンダリングします プレゼンスプロバイダーを保持するツリーなので、サポートチケット中にピッカーが開いた ウィンドウはすべての同僚をオフラインで報告します。 どちらのサービスは、Redisホストを共有します そしてデータベース。 失敗したルックアップは、検索に失敗するのではなくオフラインで読み込まれます.

  4. · BillingService

    オプトイン org が部屋からなくなるとブロックを購入する

    夜間のスナップショットスイープの直後に実行します。 使いやすさは、昨日の数字に反して拡大して買います 日々遅くなるブロック。 実行ごとにブロック1つ、キャッチアップが破棄されず、所有者の天井に止まります。 組織が、正しい結果の天井を過ぎると、書き込みが止まる そして、誰かがそれを見て、プラットフォームは静かに彼らの途中でその道を買います 費用。 天井無しの自動展開は、無制限のものではなく、無効に表示されません。 不在な制限は意図よりも過視される可能性が高いため.

  5. · InitializerService

    自動展開カラムを追加

  6. · kamo-shared-library

    天井とオートバンド

    ブロックを保持するサブスクリプションの2つの列:別の列を購入するかどうか 組織が部屋から外れたときに自動的に1つ、そしてそれが最も 購入する。 意図的にデフォルトでオフ — 誰かの請求書をサイレントに増加させることは、より悪い 説明に失敗したアップロードなので、それをオンにするのは所有者の取引です 決してそれについて考えなければならないことのないお金、そしてそれは彼らの取引だけ 作ります。 オプションではなく天井が必要です: なしの自動購入 誰も見ていないプロセスに対するオープンエンドのコミットメントです.

  7. · BillingService

    カタログの価格が実際にStripeに達するようにしましょう

    ストライププライスは不変であり、マッピングは1行/(org、type、code、) サイクル) ユニークな鍵の背後にあるので、価格が一度存在すれば変化することができません。 ツイート 価格の編集は、収入に永久的なno-opだったし、何も報告されていない。 StripePriceReconciler は、すべてのマップされた価格を比較し、カタログの現在 言うと, 尋ねたとき, 古いと新鮮なストライプ価格のマッピングをポイント 1つのアーカイブ - 削除されたのではなくアーカイブされた、Stripeは請求を維持しているため 既にサブスクリプションの価格をアーカイブし、新しいものを拒否します。 まさにその行動が欲しかった。 メーターで計ることは渡されます、従ってメーターで計られる 価格が無計に戻ってきず、静かに請求の使用を停止することはできません。 既存の加入者を新しい価格に移行しないように意図的に変更します。 無声で 誰かがカタログ行を編集したので、ライブ顧客を再優先する 誰が承認されるか。祖父が商業的な決定であるかどうか、 決して決定が欠落したことはないという事実。 それでもカウント 古い価格は代わりに報告されます。 GET ******************** でデフォルトでレポートのみを公開 明示的なPOSTの背後にあるリポイント.

  8. · InitializerService

    価格変更を検知可能な列を追加

    Order(0)、nullable、backfillなし — null は "私たちは何を知らない この価格が作成されました。" と reconciler は不明なものではなく、 漂流として.

  9. · kamo-shared-library

    各ストライプ価格が作成されたものを記録

    どの価格のidだけ保存されたマッピングは、そのため、カタログ価格変更は、 気にしないで。 PlanPrices は、行の存在下で短絡み、 ユニークなキーは2番目のキーで、$72から$79までの計画を上げることを意味する マーケティングページ、アプリ内引用、プランDTOの更新、変更 誰が請求されたかについて何もない - 何も報告しません。 unit amount cents と通貨は、対比するために何かを一致させます。 既存の行の null と left NULL の両方: null は "unknown" を意味します。 列を優先するすべての行の真、および不一致として未知の処理 不動産内のすべての価格を最初の実行に再作成します.

  10. · kamo-internal

    ストレージ容量をタイプします。 要約は現在を返します

    クライアント契約をBillingServiceで段階的に保ち、現在報告しています。 プランには、どのブロックを買ったか、組み合わせた天井と、 保存されたバイトと一緒に使用される分。 新しいコピーが必要なパネル、kamo-translation-dictionary は 別のセッションで中間編集するので、UIはスワイプするのではなく別々にランドスケープします そのレポの機内作業.

  11. · BillingService

    利用に伴うレポート容量

    ストレージパネルは、全く何も保存されていないバイトを報告しました。 パーセンテージなし、お金なし — 400 GB を見ている所有者は言う方法がなかった 快適だったか、アップロードを止めるか。 初めて 問題の知識は、アップロードが失敗しました。 要約は現在、計画が含まれているもの、ブロックが購入されたもの、 使用される結合された天井およびfractionはブロックのサイズおよび価格をそうaとします 表面は別のブロックがそれをハードコーディングなしで与え、費用を言うことができます。 同じカタログの行から来るのは、料金がかかるからです.

  12. · kamo-shared-library

    貯蔵の許容に効果を与えて下さい

    ストレージは、nineteenドメイン、夜間に測定され、ビルドファイヤー カバレッジテスト — どこでも許容値を計算したり、バイトを拒否したりしません。 計画の記憶図は、誰も読まないデータであり、追加のストレージ add-on は製品効果が全くなかった: 支払いは何も変更されず、コストを払わない いいえ。 StorageQuotaServiceは、組織が保持できるものを解決します。 座席を渡る手当と、買ったブロックと、 ImageServiceは、それを超えるコンテンツを拒否します。 チェックイン後 dup lookup なので、既に保持しているプラットフォームが保持しているファイルを再添付することは拒否されません。 スペースのため; 本当に新しいバイト数だけ。 BillingService ではなく、BillingService に書いているサービスだからここに住んでいる bytes はアップロードパスの課金 API を呼び出すことができません。 ImageService が組み立てられているため、コンストラクタを介したのではなくフィールド 複数の場所にあるハンド — コンストラクタ引数は、コンパイルする1つの編集です。 テスト以外に、画像ビルドが失敗します。 間違ったことの2つの意図的な方法。 "GB" は gibibyte として読み込まれます。 ファイルマネージャは、GBとより寛大な読書を印刷するときを意味します。 そして、 ライブサブスクリプションなしの組織、またはクォータ豆無しのサービス、 正確に保存:このゲートは、支払いを顧客に保持するために存在します 課金ギャップをデータ損失に変えないように買いました。 読書は決して門りません — ストレージを充填すると、より多くの追加が停止します.

  13. · kamo-internal

    エージェントが実際にそこにいるかどうかを要求するように指示します

    サイレントスレッドは「誰もこの見ていない」を「マイエージェント」から区別しません 一歩先を踏み出すと、待つ人は誰に伝えません。 掲載情報 会話は、答えが「今ではない」と言ったとき、それは何が起こるかを言います 次に、メッセージが受信され、返したときに応答されます。 誰が、それがすべてに上陸したかを疑問に感じているよりも。 「誰なのか」と答えるので、ヘッダではなくチャットの下に配置されている そこには?、タイピング中に尋ねられている質問は、スキャン中にない チケットのメタデータ。 リクエスト者のプレゼンスマップから読み込まれないサーバー・アンスワード:存在は 組織ごとに放送されるため、プロバイダーがサポートしている顧客組織メンバー org は、エージェントを完全にオフラインで表示します。 自信を持って間違っている " 注意を払わないよりも悪い」 同じ理由で失敗した投票は最後を保ちます 通知を反転するのではなく、既知の回答。 30秒でポーリングし、タブが見えるだけ。 空室状況は快適です 信号は、正しさではなく、背景のあるタブは誰も見ていない.

  14. · MediaService

    再割り当ては新しいエージェントに到達し、要求者は誰がそこにいるかを言われています

    再割り当ては誰にも達しなかった。 assignmentOpenedクライアントが置いたレコード 画面上での会話、サインインでチケットを上げているものの、 プレバイアスエージェントのスタンプがまだ保持されているので、新しいものだけがライブプッシュを取得 彼らが2番目のオンラインであることが起こったし、彼らがいたら何のものもありません サインアウト applicationAssignment は、代入者が実際に変更するたびに消去されます。 今、誰が所有しているかのために手持ちの耐久性を作る。 メニュー 助けを求める人達に教えてほしい 助ける人は達することができます。 目的に応じてサーバーサイドに回答:プレゼンス 組織ごとに放送されるため、顧客や組織のリクエストはエージェントが見えない プロバイダーのorgは、すべてのステータスで「オフライン」を読み取ります。 クロスオーガニの会話。 すでに会話中の人々にスケープ - a チケットIDは、秘密ではなくUUIDであり、「その机でこの人です」は、 お問い合わせ.

  15. · kamo-internal

    チャットリクエストを割り当て、チケットリストから割り当てる

    2つのギャップ、同じ原因 — 代入は起こる何かとして扱われました 作品ではなく、チケット。 割り当てボタンは、事前チケットのアウトライトに隠されていましたので、ライブチャットリクエスト、 正しい人にとって最も重要になった場合、方法がなかった お問い合わせ チャットリクエストがまだなかったときに除外日 実際のチケットと譲渡は変換時にのみ発生しました。 今割り当てられます、 そして、状態が生き残っているので、後からまだ変換することができます。 必要な会話を最初に開くことの割り当て、それは間違った形です キューを試すために — キューを操作する人は、多くの場合、キューを操作する人ではない お問い合わせ チケットリストのセルに割り当てられたのは、次のコントロールです。 ホバリングショーの割り当てや再割り当て, クリックする同じピッカーのチケットを開く ウィンドウの使用。 行は、まだ会話を開きます。 応答は、リロードではなく、独自の行をパッチします。 オペレータの場所をフィルタリング、ソート、ページ単位のキューに移動します.

  16. · kamo-internal

    プランピッカーのエンジンを引用し、ストライプが請求するものをマッチング

    ライブランニングの合計の背後にある算術は、任意のコンポーネントから離れて保持されるので、 数値は直接テストできます。 メニュー 丁度: 購入される単位による頭文字、平たい箱が付いている座席アドオンのスケール しかし、多くの人が計画上にあり、メーターで計られたものではなく、 お問い合わせ その対応はポイントです。 プラットフォームが以前に引用した場所の両方 課金で価格が解散 — アプリ内注文ウィザードは、一度に各アドオンを追加 座席に関係なく、パブリックページは組織全体のストレージプールを請求しました ユーザ単位.

  17. · BillingService

    最初のプランを準備し、実際のプラン価格を返す

    2つのことは、組織が最初のサブスクリプションを購入したことを停止しました。 プランリストは、サブ.marketId をサブスクリプションの org でのみ到達可能 すでに開催されているので、製品内での計画は見られない可能性はどれもあります。 GET /api/billing/markets/for-org は、発信者の市場を解決します 資格の根 — フリープランがすでにベースラインを供給している同じ組織、 そのため、計画や資格は異なるカタログから来られない。 プランDTOが読む ************************ 何もない 今までの人口: それらはすべてのKamoCRM計画のためのNULLです, なぜなら、シーダーは書き込みます メニュー したがって、表面を購入することが示されている 価格は全くなく、アカウントはnullチャージを記録しました。 今、価格を読みます 行, 計画列は、それらを運ぶカタログのフォールバックとして. また、アドオンユニットサイズを調べるので、購入面は「10 GBあたり」と言うことができます それをハードコーディングせずに.

  18. · kamo-internal

    認定された座席に有料のアクションをゲート, チョークポイントで

    ほぼすべてのゲート可能なアクション製品 — エクステンションをダイヤルし、メンバーをメールします。 AIアシスタントを開き、録音を再生し、社会的な会話を開始します。 **************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** それらのコールサイトを一度に送ることは完了できませんでした:ディスパッチャ 後で追加、または単に逃した、それを直進する。 今すぐチェックを ToolWindowsContext の単一ツール:open ハンドラなので、すべての呼び出し元がカバーされます。 ツールウィンドウを通過しないアクションは、彼らが住んでいる場所をゲートします。 添付ファイル(ドラッグ&ドロップ、ペーストを含む)は、 別のルート)、チャットをグループに成長させ、ミーティングのエントリ ポイント. また、監査が見つかった3つの矛盾を解決します。 3つの2つ 「会議招待状」エントリーポイントチェック組織 isMeet と 3 番目の ではなく、ACCESS MAIL と 3 番目のメールのエントリ ポイントの 2 つは、 not; と roster からのメンバーの拡張子をダイヤルしても VOIP チェックがなかった お問い合わせ これらすべてが同意します。 機能 デフォルトでロックされます。最初のロードはフライト中です。呼び出し時に 失敗し、古いバックエンドがフィールドを省略した場合。 "allowed" を推測する 有料の機能, すでに一度行われた資格パスの間違いです デフォルトはフェイルオープンです.

  19. · SecurityService

    会員が何をすべきかを解決する, だけでなく、彼らの計画は、

    特徴の助成金は計画を記述します。 このメンバーは決して説明しません。 コンソールは、org-level org.features でナビゲーションをゲートします。 すべてのアプリで組織が権利を保ち、メンバーレベル データベースに既に存在していたライセンスは、何も効果がなかった。 MemberCapabilities は、サーバー上で一度解決した答えが欠如していることです。 メンバー 座席なしでは非審的な床を保ちます:チームメイトとのテキストの会話、 サポート、独自のプロファイル、独自の請求 - 人間に到達するのに十分 シートバックを購入します。 Incoming-message翻訳は、何を読むので、あまりにも滞在 送信されたことは、費やすものではありません。 実行するお金の費用はすべてオフです。 アクティブなorgトライアルは、座席だけでなく、orgのみんなをライセンスします ホルダー。 無料プランのシングルシートで試用オーガナイズされているので、 ライセンスの試用は、所有者だけで製品を評価することができることを意味します チームを招待し、何も見ていないことを評価しました。 ログインは非接触です:認証は請求状態に相談し、まだ ありません。 座席のコスト機能を失い、決してアクセスしません.

  20. · BillingService

    ビル・パー・ユニット・アドオンは、ヘッドカウントではなく購入

    新しいアドオンの数量を新規作成と更新でスレッド化:FLAT アドオン 今 実際に購入したサブスクリプションからそのストライプの数量を取るので、4 10 GBのストレージブロックは、シート1回ではなく4つのブロックとして請求されます。 数量は、解決されたアドオンコードに対してフィルタリングされるため、 ステープルまたは敵対的な体は、それが権利的ではないコードに対して量を駐車することはできません 買う.

  21. · InitializerService

    追加ストレージを$ 2.50 / 10 GB、org-wideとして再価格

    Add-on は、組織全体で共有されたプールを記述し、その後、価格設定 USAGE BASED は、プロセでのみ述べた "25 GB" の 4 で書かれています。 提出されたものがない 貯蔵のメートルのでき事、従ってそれは何も請求しませんでした;そしてそれに付されました、Stripe メーターされた価格の数量を拒絶するので、サブスクリプションの作成は スローン。 一方、公開ページは「+$4 /user/month」としてレンダリングされます。 これは今FLATと unit size 10 に $2.50 — 所有者が購入をブロックし、価格付け プランに限らず多くの人がいます。 AddOnQuantityMigration は 2 つを追加します。 Order(0) で nullable 列, どのランナーがマップするエンティティティをロードできる前に お問い合わせ.

  22. · kamo-shared-library

    ユニットサイズと可搬数量をアドオンに

    Add-on のユニットは、その説明の中で偽物としてしか存在していません(「各ユニット」) マーケティングサイトのハードコードされた定数として 25 GB を加えて下さい、従って何もできません 請求する。 サブスクリプションAddOn は unit size と AccountSubscription のゲインを獲得します。 addon quantities — サブスクリプションが購入された各アドオンの何台か。 Active addon codes は真理の資格情報源にとどまるので、それだけではありません 「このアプリが付与されている」と聞かれると、数量マップが存在することがわかります。 また、注文ウィザードの引用を修正し、各アドオンを座席無しに追加 ほとんどの PER SEAT であっても要因: 4 つのモジュールを持つ 25 シートの注文は 引用 $31 に対して $775 ストライプは請求されます. 今の引用は同じ続きます 価格は料金モデルを推測するのではなく、料金モデルをメーターで計ったアドオン.

  23. · kamo-internal

    エージェントからチケットを再割り当て、その ID を入力するのではなく、

    署名と再割り当ては、生のメンバー ID を入力したテキスト ボックスを開きました。 あなたが望む人のIDを既に知っていることを意味, 全体の行動のために 目的は正しいものを見つけることです。 マネージャーのフィールドの背後にある同じピッカーであるMemberPickerDialog を使用します。 会員のプロフィールと、このアプリで1人の人物ピッカー。 ディレクトリ検索の実行 サーバ側と名前、エイリアス、仕事、アカウントのメール、ジョブのタイトルと一致 部門は、ランディングでアナ・レンディングを見つけるので、各行は十分な 同じ名前の2人を別々に伝えます。 現在の割り当ては、上のピン留めされます 結果は、中途研究を失わないためです。 会員 ID は JavaScript の整数範囲を超えるため、id は文字列を格納します。 ワイヤーへのディレクトリ.

  24. · MediaService

    サインイン自動オープンハンドオーバーのエンドポイント

    GET /sessions/chat/auto-open は、このメンバーのクライアントのチャットの会話を返します。 上げるべき; POST /sessions/{guid}/auto-opened レコードを作った。 耐久財 サポートハンドオーバーの対比、同じ理由で:決定 1つのブラウザタブのセッションストレージではなく、プラットフォームに属します。 書込みは、呼び出し主の会員行にスコープ付けされるため、1人の会員のクライアント 別のサーバーを退社させず、クライアントに代わってサーバータイムをスタンプする 値 — 比較は、この時計によって書かれたメッセージのタイムスタンプに対して、 そして、スキュードブラウザは、そうでなければ、会話を永遠に抑制するか 無限に再発する。 ChatAutoOpenHqlTest は、実際のエンティティティモデルに対してクエリを解析し、ピンを固定します。 そこに存在する3つの述語。 Spring Data は、コンテキストで @Query を検証するだけです。 起動するので、 typo は、失敗した起動として、またはパスの 500 を表面する すべてのメンバーはサインインでヒットします。テストは、アノテーションからアノテーションを読み取ります リフレクションなので、ステープルコピーにパスできません.

  25. · kamo-shared-library

    クライアントが自ら調達した会話の耐久記録

    MediaSessionMember は、msgIdLastViewed の横にある AUTO OPENED AT を獲得しています。 同じ穀物 — 1 つのメンバーの 1 つのセッションに対する関係の事実。 その1 「どれだけ読んでいるか」と答える。この答えは「すでに表示されている こういうと、いったん。 パータブセッションのストレージフラグを置き換えます。これはレコードではありません。 2 番目のデバイスは、最初にポップアップしたすべての会話を再開しました。 ストレージのクリアは完全に事実を失いました。 FindChatSessionsToAutoOpenは、メンバーが持っている何かを保持するセッションを返します 最後の上昇以来、何かが到着した場所を読んでいないので、会話 意図的に残っている未読は、すべての負荷で再オープンを停止しますが、いつ戻ってきます 全く新しいメッセージの土地。 チャットセッションのみ;サポートチケットは、自分で持っている ハンドオーバー。 メンバー自身のメッセージは除外され、 msgIdLastViewed ポインタは、スケーラサブクエリをオーバーするので、キャッチアップではなく未読としてカウントします。 消えた列は NULL を収穫し、永続的に読み取ります.

  26. · kamo-internal

    設定パネルのオーバーホール

    4つのドロップダウンおよびテナントの底に洗浄されたパネルのスイッチ 完全な強さで色を、従ってあらゆる制御は自身の背景をべきです。 詳しくはこちら クリックの背後にあるハイド3または4つのオプションを選択し、同じ12を繰り返す 境界線のスタイリング。 パネルは表面であり、色は選ばれるものは何でもに属します。 - すべてのオプションは画面上にあります。 これらは3~5つの設定です。 それぞれの値が短いため、メニューを開くよりも速く使うことができます。 1つの選択肢コンポーネントは、重複したスタイリングの4つのブロックを置き換えます。 - 何も意味しないので、時間と方法がカードを共有します。 他にはない。 Reminderのオフセットはモノラルで、残りの部分に一致させます 時間のカレンダーの処置。 - デフォルトのカレンダーは色を示していますので、それは同じ方法を認識しています サイドバーとイベントのダイアログは、名前だけではなく、名前だけです。 - ヘッダは、体がスクロールしている間、タイトルの4つのセクションで保持します あとはスクロールします。 これらの設定は、プレスボタンなしで変更を保存し、以前に言った ベアスピナーで。 後にフェードする明示的な "Saved" があります ちょうど作られた変更のためのレシートであるため、秒数 パネルの永久的な状態。 セクション stagger および確認のばね; 両方は下で抑制されます 好ましい感情。 すべての文字列は既存のキーです。 切り離されたワークツリーで生産ビルドを検証.

  27. · kamo-internal

    メールボックススピナーを組み立てるスケルトンで置き換える

    /messages の全ての読み込み状態は loader2 でなければ空のペインだった — 起動、メッセージリスト、フォルダツリー、メッセージ本文、次のページすべて ところで、読者に何が来るかについて何も言わないと言いました。 読み込み中のものを描画します。 各プレースホルダーはジオメトリをコピーします コンポーネントは、40px アバター、フォルダインデント、 104/120px のメッセージ行は実際のマークアップから測定されるため、レイアウトはレイアウトは行いません データを埋め込むときに移動します。 1つの考えは動きを運びます:軽い十字のバンド 各プレースホルダーは左から右へ進み、下の各行に後からビートを始めます。 ハイライトは、各行ではなく単一の対角パスとしてスタックを降下します 時計の点滅。 同じ順序で行が立ち上がります。 光は --accent-comms、メッセージ モジュール自身の家族のアクセントから混合されます、 一般的な光沢ではなく、この製品として読み込まれます。 好ましい感情 それでもバー全体をフラットにする。 新しいメッセージキーなし:プレースホルダーはスクリーンリーダーに自分自身を発表 既に存在していた3つのロード文字列を介して.

  28. · kamo-internal

    イベントダイアログからゲストの追加と削除

    ダイアログができない最後のこと。 既にあった人を表示できる イベントが、そこに誰を置く方法がなかった - 唯一のゲストコントロール 既に招待された方々にメールを返送した「更新と通知」でした。 参加者は、RSVPにタイトルのカラードットとして記載されたEメールで追加されます。 状態でホバーに取り除かれます。 代わりにゲストを追加 終わるのではなくミッドリストだから、ダイアログを投稿します。 ザ・オブ・ザ・ 普通のお客様には、主催者がマークされず、誤ってはいけません。 電子メールの検証は意図的に許されます:実際のテストはメールかどうかです それをバウンスし、厳密なパターンは完全にアドレスを拒否します 有効。 それは明らかなチポをキャッチします。, 何も. 空の状態は、気化ではなく呼び出されます。 kamo-translation-dictionary でこの先に出荷されたストリング — next-intl en.json と kamo-internal の CI クローンから欠落しているキーに投げる ビルド時に、最初にこのランディングがカレンダーページを出荷したので、 クラッシュ。 切り離されたワークツリーで生産ビルドを検証。別のセッション インツリーロックを保持します.

  29. · EmailService

    イベントのゲストリストを管理する

    ダイアログは、すでにイベントにいたが、追加または削除されていない人を示すことができます 誰が、ゲストのみの操作は、何とかあった人を再通知していた 既にあります。 イベントは現在、ゲストリストを受け入れます, 保存に卸売を交換. 代わりに ダイアログがリストを所有しているため、マージするよりも、ゲストは削除しなければならない ここに消えます。 null リストは "供給されていない" を意味し、ゲストを離れる 単独で、クライアントがタイトルだけを編集するものです。 クライアントがアサートを得ることができない2つのこと、つまり、 リクエスト: ゲストのリクエストとオーガナイザーのフラグであるRSVP、 会議と呼ばれるレコード。 両方が編集を生き生き残る — 回復する 更新の代わりに行は、すべての返信をリセットし、 1 つを除去する キャンセルは可能です。 ご宿泊者様はご返送いたします。 月表示は100件を返し、リクエスト イベントごとのクエリは行ごとのクエリです。 イベントの削除は、最初にゲストを削除しました。 彼らは非nullを運ぶ 外部キーはそれに戻ります、従って削除はそれらをorphanedか、または一度失敗しました データベースは参照を強制しました.

  30. · kamo-shared-library

    バッチ付きゲストルックアップ、削除によるイベント

    イベントダイアログでは、イベントが誰であるか、リストのエンドポイントは イベントの月間 イベントごとのゲストの問い合わせは行ごとの問い合わせです。 findByEventIdIn に一度尋ねます。 deleteByEventId は、ゲストリストの卸売を交換する最初の半分です。 非nullの外国を運ぶ行をorphaningなしででき事を取除くこと それに戻ってキー.

君の宇宙は待ってる

数分で無料で開始できます。準備ができたらいつでも製品を追加できます。移行も新しいログインも不要です。

クレジットカード不要