Skip to content

fix: anon user can not locate its data #7873

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

Merged
merged 4 commits into from
May 1, 2025
Merged

fix: anon user can not locate its data #7873

merged 4 commits into from
May 1, 2025

Conversation

appflowy
Copy link
Contributor

@appflowy appflowy commented May 1, 2025

Feature Preview


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

Fix data retrieval and migration issues for anonymous users in AppFlowy

Bug Fixes:

  • Resolve issue preventing anonymous users from locating their workspace data
  • Ensure anonymous user workspaces are correctly handled during session migration

Enhancements:

  • Add fallback mechanism to determine workspace type for anonymous users
  • Update session migration to handle anonymous user data correctly

Tests:

  • Add test to verify anonymous user data retrieval after 0.8.9 update

Copy link
Contributor

sourcery-ai bot commented May 1, 2025

Reviewer's Guide

This pull request fixes an issue preventing anonymous users from accessing their data by adding a fallback mechanism to identify their local workspace type during session loading. It also ensures the anonymous user session is correctly migrated to the new format and updates related functions.

File-Level Changes

Change Details Files
Implemented a fallback to determine the workspace type for anonymous users.
  • Added error handling for select_user_workspace_type.
  • Check if the user ID matches the anonymous user ID when the initial lookup fails.
  • Default the workspace type to Local for anonymous users if the lookup fails.
frontend/rust-lib/flowy-user/src/user_manager/manager.rs
Ensured anonymous user session data is migrated to the new format.
  • Added migration logic for the ANON_USER session from SessionBackup to the current Session structure.
frontend/rust-lib/flowy-user/src/migrations/session_migration.rs
Renamed and updated usage of the function retrieving pre-migration session workspace data.
  • Renamed get_session_workspace to get_v0_session_workspace for clarity.
  • Updated callsites in migration and data import logic to use the new function name.
frontend/rust-lib/flowy-user/src/migrations/session_migration.rs
frontend/rust-lib/flowy-user/src/migrations/anon_user_workspace.rs
frontend/rust-lib/flowy-user/src/services/data_import/appflowy_data_import.rs
Added an integration test to verify loading of older anonymous user data.
  • Created a new test case using anonymous user data from version 0.8.9.
  • Asserted that the workspace and views load correctly after the fix.
frontend/rust-lib/event-integration-test/tests/user/af_cloud_test/workspace_test.rs

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @appflowy - I've reviewed your changes - here's some feedback:

  • Consider creating a tracking issue to ensure the temporary workaround for anonymous user workspace type lookup is removed after the relevant data migration is complete.
  • The session migration logic for anonymous and regular users appears similar; consider refactoring into a shared function to reduce duplication.
Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@LucasXu0 LucasXu0 force-pushed the fix_anon_upgrade branch from e6593cc to b833172 Compare May 1, 2025 06:30
@LucasXu0 LucasXu0 force-pushed the fix_anon_upgrade branch from b833172 to ad5ff33 Compare May 1, 2025 07:06
@LucasXu0 LucasXu0 merged commit 7750f22 into main May 1, 2025
9 checks passed
@LucasXu0 LucasXu0 deleted the fix_anon_upgrade branch May 1, 2025 07:06
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