Skip to content

Inline group at wave creating#2256

Merged
simo6529 merged 16 commits intomainfrom
inline-group-at-wave-creating
Apr 14, 2026
Merged

Inline group at wave creating#2256
simo6529 merged 16 commits intomainfrom
inline-group-at-wave-creating

Conversation

@simo6529
Copy link
Copy Markdown
Collaborator

@simo6529 simo6529 commented Apr 13, 2026

Summary by CodeRabbit

  • New Features

    • Added inline group creation during wave setup with identity and rule configuration options.
    • Added support for multiple group rule types including NFT ownership, collection access, and grant-based gating.
    • Added ability to search and select existing groups while creating waves.
  • Tests

    • Expanded test coverage for inline group builder workflows and state management.

Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 13, 2026

📝 Walkthrough

Walkthrough

This PR introduces inline group creation functionality within the wave configuration workflow. It adds builder state management via useWaveConfig, new UI components for composing groups with identities and rules, integrates group mutation submission, and includes comprehensive test coverage for the new features.

Changes

Cohort / File(s) Summary
Test Suite Enhancements - Core Components
__tests__/components/waves/create-wave/CreateWave.test.tsx, __tests__/components/waves/create-wave/groups/CreateWaveGroup.test.tsx, __tests__/components/waves/create-wave/groups/CreateWaveGroups.test.tsx
Added mocks for useGroupMutations, expanded test fixtures with group-builder state/callbacks (groupBuilders, setGroupBuilderPanel, etc.), and updated assertions to verify prop threading through component hierarchy.
Test Suite for Inline Group Panel
__tests__/components/waves/create-wave/groups/CreateWaveGroupInlinePanel.test.tsx
Comprehensive test suite validating inline group creation flow: identity/rule selection, draft validation, group creation with automatic naming, "start over" behavior, and existing-group selection through mocked sub-components.
Test Suite - Identity & Draft Utilities
__tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx, __tests__/components/waves/create-wave/groups/createWaveInlineGroupBuilder.test.ts
Validates identity selection UI, connected-profile integration, wallet deduplication, draft naming, and rule configuration introspection helpers.
Hook Tests
__tests__/hooks/useWaveConfig.test.ts
Extended with identity add/remove operations, per-slot builder state updates, and draft composition verification; covers identity_addresses normalization and reset-on-overview-change behavior.
Inline Group Builder Infrastructure
components/waves/create-wave/groups/createWaveInlineGroupBuilder.ts
Introduces builder state types (CreateWaveInlineGroupBuilderState, CreateWaveInlineGroupPanel, CreateWaveInlineGroupRuleType), factory functions for initialization, and utilities for identity deduplication, rule detection, draft validation, and group naming.
Inline Group UI Components - Primary
components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx
Main panel orchestrating inline group creation: manages panel navigation (actions, identities, rules, search), handles async group creation with success/error messaging, resets state post-creation, and conditionally renders sub-panels based on builder state.
Inline Group UI Components - Supporting
components/waves/create-wave/groups/CreateWaveInlineGroupActions.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupHeader.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupButtons.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupDraftSummary.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupSearch.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupRules.tsx
Specialized UI components: action button triggers, identity wallet selection with "Include me" toggle, draft summary panel with create/reset actions, rule list/editor panel selection, group search wrapper, and chip-button styling utilities.
Inline Group Rule Editor
components/waves/create-wave/groups/CreateWaveInlineGroupRuleEditor.tsx, components/waves/create-wave/groups/CreateWaveInlineGroupXtdhGrant.tsx
Rule editor dispatcher switching on active rule type; xTDH grant component with ID input, finder UI with pagination, grant lookup/validation, and filter management.
Core Wave Component Updates
components/waves/create-wave/CreateWave.tsx, components/waves/create-wave/groups/CreateWaveGroup.tsx, components/waves/create-wave/groups/CreateWaveGroups.tsx
Wired inline group builder state/callbacks from useWaveConfig, added onInlineGroupCreate mutation handler, replaced CreateWaveGroupSearchField with CreateWaveGroupInlinePanel, and threaded new props through component hierarchy.
Hook Enhancement
components/waves/create-wave/hooks/useWaveConfig.ts
Initialized groupBuilders map per CreateWaveGroupConfigType, added identity add/remove with deduplication and identity_addresses computation, added rule/panel setters, resets builder state on overview change.
Styling Update
components/auth/Auth.tsx
Increased ToastContainer z-index from default to 100000 for modal layering.

Sequence Diagram

sequenceDiagram
    actor User
    participant Panel as CreateWaveGroupInlinePanel
    participant Builder as Builder State
    participant API as onInlineGroupCreate
    participant Server as GroupMutation Service

    User->>Panel: Click "Create + use"
    activate Panel
    Panel->>Panel: Validate draft
    alt Draft Invalid
        Panel->>User: Show "Draft is incomplete…"
    else Draft Valid
        Panel->>Builder: Freeze UI (isCreating=true)
        Panel->>API: Call with composed group name
        activate API
        API->>Server: submitInlineGroup(ApiCreateGroup)
        activate Server
        Server-->>API: ApiGroupFull (success) or error
        deactivate Server
        API-->>Panel: Result + toast feedback
        deactivate API
        alt Mutation Success
            Panel->>Builder: Reset state, clear activeRule
            Panel->>Builder: Switch panel to "actions"
            Panel->>User: Show "Group created and attached." toast
            Panel->>User: onGroupSelect(createdGroup)
        else Mutation Failed
            alt Not Auth Error
                Panel->>User: Show error toast
            end
            Panel->>Builder: Restore UI (isCreating=false)
        end
    end
    deactivate Panel
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Suggested reviewers

  • ragnep

Poem

🐰 A builder hops through groups so bright,
Identity chips stack left and right,
Rules compose in drafts so fine,
Create and use—the groups align!
From wave name spawns a group's true name,
Wave gating never quite the same.

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Inline group at wave creating' is vague and uses imprecise grammar that obscures the main objective. While it references 'inline group' and 'wave creating,' it lacks clarity about what functionality is being added or modified. Revise the title to be more specific and grammatically clear, such as 'Add inline group creation UI during wave setup' or 'Implement inline group builder panel for wave creation flow.'
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch inline-group-at-wave-creating

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx`:
- Around line 449-476: The footer allows mutating the hidden builder even when
creation is disabled; make the footer read-only by disabling the "Start over"
action when creation is not allowed: add disabled={!canCreateDraft} to the Start
over button (the same predicate used by the Create + use button) and guard its
onClick so resetGroupBuilder is not called when canCreateDraft is false (e.g.,
wrap the handler or return early), and update the Start over button's classes to
include the disabled styles so it visually indicates the read-only state; target
the Start over button element and the resetGroupBuilder function referenced in
this component.

In `@components/waves/create-wave/groups/createWaveInlineGroupBuilder.ts`:
- Around line 52-53: The mapping for CreateWaveInlineGroupRuleType.CIC is wrong:
update the value in the mapping object (in createWaveInlineGroupBuilder.ts where
CreateWaveInlineGroupRuleType.CIC is defined) from "NIC" to the correct label
"CIC" so the UI renders the proper text; ensure you change only the string
literal for CreateWaveInlineGroupRuleType.CIC and run any local UI/text checks
to confirm the label displays correctly.

In `@components/waves/create-wave/groups/CreateWaveInlineGroupXtdhGrant.tsx`:
- Around line 220-235: The buttons rendering STATUS_OPTIONS don't expose the
selected filter to assistive tech; update the button in the map (the element
created in the STATUS_OPTIONS.map) to include an accessible state such as
aria-pressed={isActive} (and optionally aria-current="true" when isActive) and
ensure the accessible label uses STATUS_LABELS[status] (or add an aria-label) so
screen readers announce which status is active; keep the onClick using
setSelectedStatus(status) and do not change visual classes—just add the aria
attributes to the button.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a89f56dd-6690-4d2b-b0fb-89fc4762186f

📥 Commits

Reviewing files that changed from the base of the PR and between 4c5d895 and eecaeac.

📒 Files selected for processing (15)
  • __tests__/components/waves/create-wave/CreateWave.test.tsx
  • __tests__/components/waves/create-wave/groups/CreateWaveGroup.test.tsx
  • __tests__/components/waves/create-wave/groups/CreateWaveGroupInlinePanel.test.tsx
  • __tests__/components/waves/create-wave/groups/CreateWaveGroups.test.tsx
  • __tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx
  • __tests__/components/waves/create-wave/groups/createWaveInlineGroupBuilder.test.ts
  • __tests__/hooks/useWaveConfig.test.ts
  • components/waves/create-wave/CreateWave.tsx
  • components/waves/create-wave/groups/CreateWaveGroup.tsx
  • components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx
  • components/waves/create-wave/groups/CreateWaveGroups.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupXtdhGrant.tsx
  • components/waves/create-wave/groups/createWaveInlineGroupBuilder.ts
  • components/waves/create-wave/hooks/useWaveConfig.ts

Comment thread components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx Outdated
Comment thread components/waves/create-wave/groups/createWaveInlineGroupBuilder.ts
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@components/waves/create-wave/groups/CreateWaveInlineGroupButtons.tsx`:
- Around line 22-49: The component DraftChipButton currently always emits
aria-pressed which forces toggle semantics; change the props to include an
optional isToggle?: boolean (or alternatively treat active as
optional/undefined) and only render aria-pressed when isToggle is true (e.g.,
aria-pressed={active} conditionally), update the prop type signature for
DraftChipButton to include isToggle?: boolean and update callers to pass
isToggle when the button is a toggle so plain-action chips do not expose toggle
semantics to assistive tech.

In `@knip.jsonc`:
- Around line 91-92: Add an inline comment next to the "react-doctor" entry in
the ignoreDependencies array explaining that this package is actually consumed
via the npm script "react-doctor:diff" (invoked from
scripts/react-doctor-diff.cjs) and is ignored because Knip cannot detect
dynamic/script-based usages; update the comment under the ignoreDependencies key
referencing "react-doctor" to make this intentional suppression clear for future
maintainers.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e096dc8a-4254-499f-a1a9-05a93df6f391

📥 Commits

Reviewing files that changed from the base of the PR and between eecaeac and 763ff19.

📒 Files selected for processing (11)
  • __tests__/components/waves/create-wave/groups/CreateWaveGroupInlinePanel.test.tsx
  • components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupActions.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupButtons.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupDraftSummary.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupHeader.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupRuleEditor.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupRules.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupSearch.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupXtdhGrant.tsx
  • knip.jsonc
✅ Files skipped from review due to trivial changes (2)
  • components/waves/create-wave/groups/CreateWaveInlineGroupActions.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupSearch.tsx
🚧 Files skipped from review as they are similar to previous changes (2)
  • components/waves/create-wave/groups/CreateWaveInlineGroupXtdhGrant.tsx
  • tests/components/waves/create-wave/groups/CreateWaveGroupInlinePanel.test.tsx

Comment thread knip.jsonc
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
Signed-off-by: Simo <simo@6529.io>
@simo6529
Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 14, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (4)
__tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx (2)

93-130: Consider using renderWithProfile for consistency.

This test renders the component directly without AuthContext.Provider, while other tests use renderWithProfile. If useAuth requires a provider context or its default behavior changes, this test could become brittle. Using renderWithProfile({ profile: null, identities: [...] }) would be more consistent.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@__tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx`
around lines 93 - 130, The test "passes selected identity wallets to the search
field" renders CreateWaveInlineGroupIdentities directly; update it to use the
shared test helper renderWithProfile so the AuthContext is provided consistently
— call renderWithProfile with profile: null and identities: [ ... ] (the same
identities currently passed) and keep the same props onIdentitySelect and
onRemove, then assert the same screen.getByTestId("identities-search") result;
locate the test block and replace the direct render(...) call with
renderWithProfile({...}) for CreateWaveInlineGroupIdentities.

43-54: Minor inconsistency in test fixture wallet casing.

selectedCurrentUserIdentity.wallet is "0xme" (lowercase) while connectedProfile.primary_wallet and selectedCurrentUserIdentity.primary_wallet are both "0xME" (uppercase). If the component uses case-sensitive comparison for the wallet field, this could cause test fragility. Verify this is intentional for testing case-insensitive matching, or normalize the casing.

💡 Suggested fix for consistency
 const selectedCurrentUserIdentity: CommunityMemberMinimal = {
   profile_id: "profile-me",
   handle: "me",
   normalised_handle: "me",
   primary_wallet: "0xME",
   display: "Me",
   tdh: 42,
   level: 3,
   cic_rating: 5,
-  wallet: "0xme",
+  wallet: "0xME",
   pfp: "me.png",
 };
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@__tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx`
around lines 43 - 54, Test fixture has inconsistent casing:
selectedCurrentUserIdentity.wallet is "0xme" while
connectedProfile.primary_wallet and selectedCurrentUserIdentity.primary_wallet
are "0xME", which may break case-sensitive comparisons. Update the fixture so
the wallet string casing is consistent (either normalize all to lowercase or
uppercase) or explicitly normalize/compare case-insensitively in the
component/test; locate the objects named selectedCurrentUserIdentity and
connectedProfile and make their wallet/primary_wallet values match casing to
remove fragility.
components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx (2)

78-80: Consider memoizing the validation result.

validateGroupPayload is called on every render. If the validation logic becomes more complex or if the component re-renders frequently, consider wrapping it in useMemo like draftSummary and configuredRules.

💡 Suggested optimization
+  const validation = useMemo(
+    () => validateGroupPayload(groupBuilder.draft),
+    [groupBuilder.draft]
+  );
-  const validation = validateGroupPayload(groupBuilder.draft);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx` around
lines 78 - 80, validateGroupPayload is being called on every render (used to
compute validation and canCreateDraft/canResetDraft); memoize its result with
React.useMemo to avoid unnecessary recalculation. Wrap the call that sets
validation (currently const validation =
validateGroupPayload(groupBuilder.draft)) in useMemo with groupBuilder.draft as
the dependency, ensure useMemo is imported, and keep canCreateDraft and
canResetDraft using the memoized validation value.

136-144: Silent failure when group creation returns null.

When onInlineGroupCreate returns null, the function silently returns without user feedback. Consider providing visual feedback (toast/error state) so users understand why the creation didn't complete.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx` around
lines 136 - 144, The code in CreateWaveGroupInlinePanel silently returns when
onInlineGroupCreate(nextPayload) yields null; add explicit user feedback for
that failure: detect the null createdGroup and then surface an error (e.g., call
the app's toast/notification helper such as showToast/enqueueSnackbar or invoke
a provided onError callback, or set a local error state to render an inline
message) before returning, and also optionally log the failure for debugging;
keep the existing success flow that calls onGroupSelect, resetGroupBuilder,
setGroupBuilderRule, and setGroupBuilderPanel unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@components/auth/Auth.tsx`:
- Line 901: The ToastContainer in Auth.tsx currently sets style={{ zIndex:
100000 }} which is lower than tooltip overlay z-index (999999); update the
ToastContainer's zIndex to a value greater than 999999 (e.g., 1000000) or pull
from a shared z-index constant so auth toasts render above CustomTooltip
overlays; modify the style prop on the ToastContainer instance to use the new
higher z-index or shared constant.

---

Nitpick comments:
In
`@__tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx`:
- Around line 93-130: The test "passes selected identity wallets to the search
field" renders CreateWaveInlineGroupIdentities directly; update it to use the
shared test helper renderWithProfile so the AuthContext is provided consistently
— call renderWithProfile with profile: null and identities: [ ... ] (the same
identities currently passed) and keep the same props onIdentitySelect and
onRemove, then assert the same screen.getByTestId("identities-search") result;
locate the test block and replace the direct render(...) call with
renderWithProfile({...}) for CreateWaveInlineGroupIdentities.
- Around line 43-54: Test fixture has inconsistent casing:
selectedCurrentUserIdentity.wallet is "0xme" while
connectedProfile.primary_wallet and selectedCurrentUserIdentity.primary_wallet
are "0xME", which may break case-sensitive comparisons. Update the fixture so
the wallet string casing is consistent (either normalize all to lowercase or
uppercase) or explicitly normalize/compare case-insensitively in the
component/test; locate the objects named selectedCurrentUserIdentity and
connectedProfile and make their wallet/primary_wallet values match casing to
remove fragility.

In `@components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx`:
- Around line 78-80: validateGroupPayload is being called on every render (used
to compute validation and canCreateDraft/canResetDraft); memoize its result with
React.useMemo to avoid unnecessary recalculation. Wrap the call that sets
validation (currently const validation =
validateGroupPayload(groupBuilder.draft)) in useMemo with groupBuilder.draft as
the dependency, ensure useMemo is imported, and keep canCreateDraft and
canResetDraft using the memoized validation value.
- Around line 136-144: The code in CreateWaveGroupInlinePanel silently returns
when onInlineGroupCreate(nextPayload) yields null; add explicit user feedback
for that failure: detect the null createdGroup and then surface an error (e.g.,
call the app's toast/notification helper such as showToast/enqueueSnackbar or
invoke a provided onError callback, or set a local error state to render an
inline message) before returning, and also optionally log the failure for
debugging; keep the existing success flow that calls onGroupSelect,
resetGroupBuilder, setGroupBuilderRule, and setGroupBuilderPanel unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 509181e5-b0d6-42b3-be9f-1e75c03b4af7

📥 Commits

Reviewing files that changed from the base of the PR and between 763ff19 and d8ac2fd.

📒 Files selected for processing (8)
  • __tests__/components/waves/create-wave/groups/CreateWaveGroupInlinePanel.test.tsx
  • __tests__/components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.test.tsx
  • components/auth/Auth.tsx
  • components/waves/create-wave/groups/CreateWaveGroupInlinePanel.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupButtons.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupHeader.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupRules.tsx
🚧 Files skipped from review as they are similar to previous changes (3)
  • components/waves/create-wave/groups/CreateWaveInlineGroupIdentities.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupRules.tsx
  • components/waves/create-wave/groups/CreateWaveInlineGroupButtons.tsx

Comment thread components/auth/Auth.tsx
@simo6529 simo6529 merged commit 9aac8d4 into main Apr 14, 2026
8 checks passed
@simo6529 simo6529 deleted the inline-group-at-wave-creating branch April 14, 2026 09:59
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