Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ワークスペースページとワークスペース作成ページ #212

Merged
merged 17 commits into from
Dec 18, 2024

Conversation

yawn-c111
Copy link
Collaborator

@yawn-c111 yawn-c111 commented Dec 16, 2024

ワークスペースページとワークスペース作成ページ

Description

お待たせしました!
一通り完了しました!

Done

  • ページ作成
    • workspace
    • workspace/new
  • useHat で ユーザーのアドレスから Tree の情報を取得する機能
  • bigbang 実行後のイベント取得
  • AAのアドレスではなくユーザー自身のアドレスのワークスペース一覧を表示してしまうことがある問題を解決

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Screenshots

image

@yawn-c111 yawn-c111 changed the title wip: tree id ワークスペースページとワークスペース作成ページ Dec 18, 2024
@yawn-c111 yawn-c111 changed the title ワークスペースページとワークスペース作成ページ WIP: ワークスペースページとワークスペース作成ページ Dec 18, 2024
@yawn-c111 yawn-c111 changed the title WIP: ワークスペースページとワークスペース作成ページ ワークスペースページとワークスペース作成ページ Dec 18, 2024
@yawn-c111
Copy link
Collaborator Author

yawn-c111 commented Dec 18, 2024

@yu23ki14
お待たせしました! 🙏

一点少し心配していることがありまして、 wallet のアドレスをキーにHats Subgraphを使用してツリーの情報を取得すると、 AAのアドレスではなくユーザー自身のアドレスのワークスペース一覧を表示してしまうことがありました。
pimlicoのレスポンスやSubgraphに問い合わせるタイミングなどによって、偶然起こるのかなぁと考えています。

こちらの問題は一応コードで解決できたのですが、あまりスマートな方法とはいえず、別の箇所でも起こる&より良い方法があるのかも?ということで、コメントさせてもらいました!
https://github.com/hackdays-io/toban/blob/feature/front-workspace/pkgs/frontend/app/routes/workspace._index.tsx#L60-L74

// frontend/app/routes/workspace._index.tsx
useEffect(() => {
  if (smartWalletRef.current !== undefined && !isSmartWallet) return;

  const fetchWorkspacesList = async () => {
    const _workspacesList = await getWorkspacesList({
      walletAddress: address as `0x${string}`,
    });

    // このセッションでスマートウォレットに接続した記録があれば、ユーザー自身のウォレットによるワークスペースの更新は無視する
    if (smartWalletRef.current === undefined || isSmartWallet) {
      setWorkspacesList(_workspacesList);
    }
  };
  fetchWorkspacesList();
}, [address, getWorkspacesList]);

@yu23ki14
Copy link
Member

@yawn-c111
ありがとうございます!
いただいた点について、useActiveWalletのhooksでembeded wallet (Privyのメアド接続)をつかっているかどうかチェックするようにしました。embeded walletつかっている場合は今の仕様だとsmart wallet必須なので、isConnectingEmbeddedWallet がtrueで、isSmartWalletがfalseの場合はundefinedとして扱うようにしました。

@yu23ki14 yu23ki14 merged commit d69fe50 into main Dec 18, 2024
2 checks passed
@yawn-c111
Copy link
Collaborator Author

そうか…なるほど…!
ありがとうございます!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants