[PR #7967] [MERGED] feat: integrate guest role #8243

Closed
opened 2026-03-23 23:23:16 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/7967
Author: @LucasXu0
Created: 5/22/2025
Status: Merged
Merged: 5/29/2025
Merged by: @LucasXu0

Base: mainHead: guest_role


📝 Commits (10+)

  • f12bfcd fix: turn off share apis when fg is off
  • 2a4ef12 chore: bump client-api version
  • a53eb98 fix: use workspace id in turn into member api
  • 7225ebf feat: hide the invite textfield when user role is guest
  • 3497fd3 fix: improve error handling for invitation failures in share tab
  • 71064fd fix: handle sharing disabled state in share tab
  • 6b36c20 chore: bump version
  • b4828ec feat: replace sidebar menu with AFMenu
  • 2a549f0 chore: add error code
  • ecc486f feat: shared with me

📊 Changes

25 files changed (+682 additions, -117 deletions)

View changed files

📝 frontend/appflowy_flutter/integration_test/desktop/uncategorized/zoom_in_out_test.dart (+3 -0)
📝 frontend/appflowy_flutter/lib/features/share_tab/data/repositories/local_share_with_user_repository.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/features/share_tab/data/repositories/rust_share_with_user_repository.dart (+7 -6)
📝 frontend/appflowy_flutter/lib/features/share_tab/data/repositories/share_with_user_repository.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/features/share_tab/logic/share_with_user_bloc.dart (+17 -1)
📝 frontend/appflowy_flutter/lib/features/share_tab/presentation/share_tab.dart (+41 -12)
📝 frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/access_level_list_widget.dart (+12 -29)
📝 frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/edit_access_level_widget.dart (+5 -0)
📝 frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_group_widget.dart (+1 -0)
📝 frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_user_widget.dart (+16 -1)
📝 frontend/appflowy_flutter/lib/features/shared_section/presentation/shared_section.dart (+56 -1)
frontend/appflowy_flutter/lib/features/shared_section/presentation/widgets/shared_page_actions_button.dart (+154 -0)
📝 frontend/appflowy_flutter/lib/features/shared_section/presentation/widgets/shared_pages_list.dart (+47 -11)
📝 frontend/appflowy_flutter/lib/workspace/presentation/home/hotkeys.dart (+6 -2)
📝 frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/space/sidebar_space.dart (+7 -7)
📝 frontend/appflowy_flutter/pubspec.yaml (+1 -1)
frontend/appflowy_flutter/test/widget_test/lib/features/share_section/shared_page_actions_button_test.dart (+269 -0)
📝 frontend/appflowy_flutter/test/widget_test/lib/features/share_section/shared_pages_list_test.dart (+7 -1)
📝 frontend/appflowy_flutter/test/widget_test/lib/features/share_tab/access_level_list_widget_test.dart (+1 -26)
📝 frontend/appflowy_flutter/test/widget_test/lib/features/share_tab/edit_access_level_widget_test.dart (+1 -0)

...and 5 more files

📄 Description

Feature Preview

  • turn off share apis when feature flag is off
  • bump client-api version
  • use workspace id in turn into member api
  • bug: invite self as guest
  • bug: count limitation
  • hide the invite textfield in share menu if user roles is guest

PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

Summary by Sourcery

Integrate the guest role by aligning share user operations with workspaces, gating the share section behind a feature flag, and updating the client API dependency revision

Enhancements:

  • Rename changeRole API parameter from pageId to workspaceId across repositories
  • Gate share-with-user BLoC events behind the sharedSection feature flag
  • Update backend API dependencies to a new revision in Cargo.toml

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/7967 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 5/22/2025 **Status:** ✅ Merged **Merged:** 5/29/2025 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `guest_role` --- ### 📝 Commits (10+) - [`f12bfcd`](https://github.com/AppFlowy-IO/AppFlowy/commit/f12bfcdc8af8829d2c8fb0b2e8259d9c72c5f2f3) fix: turn off share apis when fg is off - [`2a4ef12`](https://github.com/AppFlowy-IO/AppFlowy/commit/2a4ef1245ef024b2f2e0cdf948db3a31e5e630a0) chore: bump client-api version - [`a53eb98`](https://github.com/AppFlowy-IO/AppFlowy/commit/a53eb98ec3991918da4520b79a1594782f1a2ab1) fix: use workspace id in turn into member api - [`7225ebf`](https://github.com/AppFlowy-IO/AppFlowy/commit/7225ebf017ee51f3ac16889f080cbcf60afb4884) feat: hide the invite textfield when user role is guest - [`3497fd3`](https://github.com/AppFlowy-IO/AppFlowy/commit/3497fd3ad410e0878ac19b37e755e9224a5547db) fix: improve error handling for invitation failures in share tab - [`71064fd`](https://github.com/AppFlowy-IO/AppFlowy/commit/71064fdf5d9c5451a096e89ffeaa337b28978cff) fix: handle sharing disabled state in share tab - [`6b36c20`](https://github.com/AppFlowy-IO/AppFlowy/commit/6b36c20d00cb552323a6d4b9f1999c01c1f73b98) chore: bump version - [`b4828ec`](https://github.com/AppFlowy-IO/AppFlowy/commit/b4828ec117faae8d8b225dda78e62b761e5bf3cf) feat: replace sidebar menu with AFMenu - [`2a549f0`](https://github.com/AppFlowy-IO/AppFlowy/commit/2a549f0adc7e19158a461dd1d8e719f721afe3bb) chore: add error code - [`ecc486f`](https://github.com/AppFlowy-IO/AppFlowy/commit/ecc486f1b31e6a4b7a0985a5e71c5d9abbfde2ee) feat: shared with me ### 📊 Changes **25 files changed** (+682 additions, -117 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/integration_test/desktop/uncategorized/zoom_in_out_test.dart` (+3 -0) 📝 `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/local_share_with_user_repository.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/rust_share_with_user_repository.dart` (+7 -6) 📝 `frontend/appflowy_flutter/lib/features/share_tab/data/repositories/share_with_user_repository.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/features/share_tab/logic/share_with_user_bloc.dart` (+17 -1) 📝 `frontend/appflowy_flutter/lib/features/share_tab/presentation/share_tab.dart` (+41 -12) 📝 `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/access_level_list_widget.dart` (+12 -29) 📝 `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/edit_access_level_widget.dart` (+5 -0) 📝 `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_group_widget.dart` (+1 -0) 📝 `frontend/appflowy_flutter/lib/features/share_tab/presentation/widgets/shared_user_widget.dart` (+16 -1) 📝 `frontend/appflowy_flutter/lib/features/shared_section/presentation/shared_section.dart` (+56 -1) ➕ `frontend/appflowy_flutter/lib/features/shared_section/presentation/widgets/shared_page_actions_button.dart` (+154 -0) 📝 `frontend/appflowy_flutter/lib/features/shared_section/presentation/widgets/shared_pages_list.dart` (+47 -11) 📝 `frontend/appflowy_flutter/lib/workspace/presentation/home/hotkeys.dart` (+6 -2) 📝 `frontend/appflowy_flutter/lib/workspace/presentation/home/menu/sidebar/space/sidebar_space.dart` (+7 -7) 📝 `frontend/appflowy_flutter/pubspec.yaml` (+1 -1) ➕ `frontend/appflowy_flutter/test/widget_test/lib/features/share_section/shared_page_actions_button_test.dart` (+269 -0) 📝 `frontend/appflowy_flutter/test/widget_test/lib/features/share_section/shared_pages_list_test.dart` (+7 -1) 📝 `frontend/appflowy_flutter/test/widget_test/lib/features/share_tab/access_level_list_widget_test.dart` (+1 -26) 📝 `frontend/appflowy_flutter/test/widget_test/lib/features/share_tab/edit_access_level_widget_test.dart` (+1 -0) _...and 5 more files_ </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview - [x] turn off share apis when feature flag is off - [x] bump client-api version - [x] use workspace id in turn into member api - [x] bug: invite self as guest - [x] bug: count limitation - [x] hide the invite textfield in share menu if user roles is guest <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [x] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [x] I've listed at least one issue that this PR fixes in the description above. - [x] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [x] All existing tests are passing. ## Summary by Sourcery Integrate the guest role by aligning share user operations with workspaces, gating the share section behind a feature flag, and updating the client API dependency revision Enhancements: - Rename changeRole API parameter from pageId to workspaceId across repositories - Gate share-with-user BLoC events behind the sharedSection feature flag - Update backend API dependencies to a new revision in Cargo.toml --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:23:16 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#8243
No description provided.