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

[bug]: Deep Nested Routing Duplicate Functions Generated #1121

Open
rlee1990 opened this issue Aug 25, 2024 · 3 comments
Open

[bug]: Deep Nested Routing Duplicate Functions Generated #1121

rlee1990 opened this issue Aug 25, 2024 · 3 comments
Labels
Feedback Requested Waiting for new information from the OP

Comments

@rlee1990
Copy link

Describe the bug

When adding the same route as a child to different sections for deep nesting I receive the below error once generating.

Try renaming one of the declarations.```

### What operating system do you use?

macOS

### Information about the installed tooling

[✓] Flutter (Channel stable, 3.24.0, on macOS 14.6.1 23G93 darwin-arm64, locale en-US)
    • Flutter version 3.24.0 on channel stable at /Users/rickeylee/Desktop/dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 80c2e84975 (4 weeks ago), 2024-07-30 23:06:49 +0700
    • Engine revision b8800d88be
    • Dart version 3.5.0
    • DevTools version 2.37.2

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/rickeylee/Library/Android/sdk
    • Platform android-34-ext8, build-tools 34.0.0
    • ANDROID_HOME = /Users/rickeylee/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15F31d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.92.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.94.0

[✓] Connected device (6 available)            
    • SM F926U (mobile)                              • RFCR802EMHY               • android-arm64  • Android 13 (API 33)
    • iPhone 15 Pro Max (mobile)                     • 00008130-00125D660CFA001C • ios            • iOS 17.5.1 21F90
    • iPad Pro (12.9-inch) (5th generation) (mobile) • 00008101-000C1CE60E88801E • ios            • iOS 17.6.1 21G93
    • macOS (desktop)                                • macos                     • darwin-arm64   • macOS 14.6.1 23G93 darwin-arm64
    • Mac Designed for iPad (desktop)                • mac-designed-for-ipad     • darwin         • macOS 14.6.1 23G93 darwin-arm64
    • Chrome (web)                                   • chrome                    • web-javascript • Google Chrome 128.0.6613.84
    ! Error: Browsing on the local area network for rickey’s Apple Watch. Ensure the device is unlocked and discoverable via Bluetooth. (code -27)
    ! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as
      this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

• No issues found!

### Steps to reproduce the issue

@StackedApp(
  routes: [
    CustomRoute(page: StartupView, initial: true, path: '/loading'),
    CustomRoute(
      path: '/',
      page: TabBarView,
      // guards: [AuthGuard],
      children: [
        CustomRoute(page: HomeRoute, path: 'home', initial: true, children: [
          CustomRoute(page: HomeView, initial: true, usesPathAsKey: true),
          CustomRoute(
            page: ProfileRoute,
            path: 'profile/:id',
            children: [
              CustomRoute(
                page: ProfileView,
                initial: true,
              ),
              CustomRoute(
                page: EditProfileView,
                path: 'edit',
              ),
              CustomRoute(
                page: PostRoute,
                path: 'post/:id',
                children: [
                  CustomRoute(
                    page: PostFullViewView,
                    initial: true,
                  ),
                  CustomRoute(
                    page: ReactionsListView,
                    path: 'reactions',
                    fullscreenDialog: true,
                  ),
                  CustomRoute(
                    page: FullScreenCarouselView,
                    path: 'files',
                  ),
                ],
              ),
              CustomRoute(
                page: MessageRoute,
                path: ':id',
                children: [
                  CustomRoute(
                    page: MessagesView,
                    initial: true,
                  ),
                  CustomRoute(
                    page: ChatDetailRoute,
                    path: 'details',
                    children: [
                      CustomRoute(
                        page: ChatDetailsView,
                        initial: true,
                      ),
                      CustomRoute(
                        page: AddMembersView,
                        path: 'addMembers',
                      ),
                      CustomRoute(
                        page: ChatMediaView,
                        path: 'media',
                      ),
                      CustomRoute(
                        page: MemberListView,
                        path: 'members',
                      ),
                      CustomRoute(
                        page: MemberRequestView,
                        path: 'request',
                      ),
                      CustomRoute(
                        page: PinnedMessageRoute,
                        path: 'pinned',
                        children: [
                          CustomRoute(
                            page: PinnedMessagesView,
                            initial: true,
                          ),
                        ],
                      ),
                    ],
                  ),
                  CustomRoute(
                    page: LobbyViewView,
                    path: 'lobby/:id',
                  ),
                  CustomRoute(
                    page: VideoCallView,
                    path: 'call/video/:id',
                  ),
                  CustomRoute(
                    page: PostRoute,
                    path: 'post/:id',
                    children: [
                      CustomRoute(
                        page: PostFullViewView,
                        initial: true,
                      ),
                      CustomRoute(
                        page: ReactionsListView,
                        path: 'reactions',
                        fullscreenDialog: true,
                      ),
                      CustomRoute(
                        page: FullScreenCarouselView,
                        path: 'files',
                      ),
                    ],
                  ),
                  // post,
                ],
              ),
              // post,
              // chat,
            ],
          ),
          CustomRoute(
            page: MessageRoute,
            path: ':id',
            children: [
              CustomRoute(
                page: MessagesView,
                initial: true,
              ),
              CustomRoute(
                page: ChatDetailRoute,
                path: 'details',
                children: [
                  CustomRoute(
                    page: ChatDetailsView,
                    initial: true,
                  ),
                  CustomRoute(
                    page: AddMembersView,
                    path: 'addMembers',
                  ),
                  CustomRoute(
                    page: ChatMediaView,
                    path: 'media',
                  ),
                  CustomRoute(
                    page: MemberListView,
                    path: 'members',
                  ),
                  CustomRoute(
                    page: MemberRequestView,
                    path: 'request',
                  ),
                  CustomRoute(
                    page: PinnedMessageRoute,
                    path: 'pinned',
                    children: [
                      CustomRoute(page: PinnedMessagesView, initial: true),
                    ],
                  ),
                ],
              ),
              CustomRoute(
                page: LobbyViewView,
                path: 'lobby/:id',
              ),
              CustomRoute(
                page: VideoCallView,
                path: 'call/video/:id',
              ),
              CustomRoute(
                page: PostRoute,
                path: 'post/:id',
                children: [
                  CustomRoute(page: PostFullViewView, initial: true),
                  CustomRoute(
                    page: ReactionsListView,
                    path: 'reactions',
                    fullscreenDialog: true,
                  ),
                  CustomRoute(
                    page: FullScreenCarouselView,
                    path: 'files',
                  ),
                ],
              ),
              // post,
            ],
          ),
          CustomRoute(
            page: PostRoute,
            path: 'post/:id',
            children: [
              CustomRoute(page: PostFullViewView, initial: true),
              CustomRoute(
                page: ReactionsListView,
                path: 'reactions',
                fullscreenDialog: true,
              ),
              CustomRoute(page: FullScreenCarouselView, path: 'files'),
            ],
          ),
          // profile,
          // chat,
          // post,
          CustomRoute(page: PrivacyView),
        ]),
        CustomRoute(page: ChatView, path: 'chats'),
        CustomRoute(page: LivestreamsView, path: 'livestreams'),
        CustomRoute(page: NotificationView, path: 'notifications'),
        CustomRoute(page: SearchView, path: 'search?query=String'),
      ],
    ),

    CustomRoute(page: BlockedListView),
    CustomRoute(page: BookmarksView),
    CustomRoute(page: CameraViewView),

    CustomRoute(page: ChatSearchView),
    CustomRoute(page: CommunitiesView),
    CustomRoute(page: CreateChatView),
    CustomRoute(page: CreatePostView),
    CustomRoute(page: CreateStoryView),
    CustomRoute(page: LivestreamParticipantViewView),
    CustomRoute(page: LivestreamViewView),

    CustomRoute(page: LoginView),

    CustomRoute(page: SettingsView),
    CustomRoute(page: SignupView),
    CustomRoute(page: StoryViewView),
    CustomRoute(page: VerificationHomeView),

// @stacked-route

    CustomRoute(page: UnknownView, path: '/404'),

    /// When none of the above routes match, redirect to UnknownView
    RedirectRoute(path: '*', redirectTo: '/404'),
  ],
  dependencies: [
    LazySingleton(classType: BottomSheetService),
    LazySingleton(classType: DialogService),
    LazySingleton(classType: RouterService),
    // @stacked-service
  ],
  bottomsheets: [
    StackedBottomsheet(classType: NoticeSheet),
    // @stacked-bottom-sheet
  ],
  dialogs: [
    StackedDialog(classType: InfoAlertDialog),
    // @stacked-dialog
  ],
)
class App {}


### Expected behavior

_No response_

### Screenshots

_No response_

### Additional Context

_No response_
@FilledStacks
Copy link
Contributor

We had a similar issue like this recently.

Turned out their setup wasn't correct.

Please read through this and check if it solves your problem.

@FilledStacks FilledStacks added the Feedback Requested Waiting for new information from the OP label Sep 4, 2024
@rlee1990
Copy link
Author

rlee1990 commented Sep 4, 2024

@FilledStacks It's not the same everything is correct. It's the extension functions for the router. Once I manually remove them I can run the app. Is there a way to stop them from being generated?

@FilledStacks
Copy link
Contributor

At the moment not.

I'll add this to my list of tasks for my maintenance day coming up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback Requested Waiting for new information from the OP
Projects
None yet
Development

No branches or pull requests

2 participants