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

feat: support canvas sharing and duplication #547

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Conversation

mrcfps
Copy link
Contributor

@mrcfps mrcfps commented Mar 4, 2025

Summary

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Tip

Close issue syntax: Fixes #<issue number> or Resolves #<issue number>, see documentation for more details.

Impact Areas

Please check the areas this PR affects:

  • Multi-threaded Dialogues
  • AI-Powered Capabilities (Web Search, Knowledge Base Search, Question Recommendations)
  • Context Memory & References
  • Knowledge Base Integration & RAG
  • Quotes & Citations
  • AI Document Editing & WYSIWYG
  • Free-form Canvas Interface
  • Other

Screenshots/Videos

Before After
... ...

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Refly Documentation
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

mrcfps and others added 15 commits March 2, 2025 00:55
- Replace OptionalJwtAuthGuard with JwtAuthGuard across multiple controllers
- Remove public sharing logic from action, canvas, knowledge, and misc services
- Modify service methods to require authenticated user
- Update type definitions to remove isPublic-related properties
- Simplify access control by enforcing user-specific data retrieval
- Add error handling for file retrieval in misc service
- Enhance share deletion to remove child records and associated files
- Implement share not found overlay for readonly canvas
- Update share settings UI with loading states and refetch
- Add context support for detecting share not found scenarios
- Update translations for share access descriptions
- Add new `duplicateShare` endpoint in share controller and service
- Remove deprecated canvas duplication queue and processor
- Modify canvas duplication logic to support optional ownership check
- Update frontend hooks and components to use new share duplication flow
- Enhance image node and canvas service with improved metadata handling
- Improve `batchRemoveObjects` to mark files as deleted in database first
- Optimize file duplication process with batch insert and duplicate checking
- Add user context to file removal operations
- Reduce database queries during file operations
- Modify duplicate canvas button to prompt login for non-authenticated users
- Integrate auth store to open login modal when duplication is attempted
- Remove login check condition from duplicate button rendering
- Simplify duplicate button logic with centralized authentication check
…prove UI disabled states

- Remove JWT guard from skill list endpoint in API
- Update chat input readonly styling with black text and transparent background
- Enhance config manager disabled states with consistent color styling
- Add dynamic node size update on config panel expand/collapse
- Simplify skills list query by removing login dependency
- Update deployment workflows for web (prod and staging) with static public endpoint
- Modify docker-compose environment to include static public endpoint
- Update .env.example with new static public endpoint configuration
- Update user service to include avatar in updateUser method
- Extend OpenAPI schema with avatar field for user settings
- Generate corresponding TypeScript types for avatar property
- Extend canvas service to fetch and return user details for canvas owner
- Update canvas context to include owner information
- Modify readonly canvas title component to display owner avatar and name
- Update OpenAPI schema and types to support owner field in canvas data
- Integrate antd-img-crop for avatar image cropping
- Implement avatar upload with file type and size validation
- Add translations for avatar upload and cropping
- Update account settings component to support avatar selection and preview
- Include Open Graph title, description, and image for landing page
- Set website type and dynamic URL for better social media preview
- Use existing translations for consistent metadata
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