The public access system has been simplified to use the normal board URL instead of generating separate public links.
- Public boards had separate URLs like
/board/public/abc123 - Generated unique
linkIdfor each public board - Required separate routing logic
- Public boards use the normal URL:
/board/:id - No separate
linkIdgeneration - Same route handles both public and private access
- Backend automatically detects public access and handles permissions
- Simpler URLs: Public boards use the same URL format as private boards
- Easier Sharing: Just share the normal board link
- Better UX: No confusion about different link types
- Cleaner Code: Single route handles all board access
- Open any board
- Click "Share" button
- Enable "Public access" checkbox
- Choose role: "Viewer" or "Editor"
- Copy the board link (e.g.,
https://yoursite.com/board/abc123) - Share the link with anyone
- Click the shared board link
- If the board is public, it will load immediately
- If the board is private, you'll be prompted to sign in
- View or edit based on the public access role
- Removed
linkIdfield from Board schema - Updated main board route (
GET /:id) to handle public access - Public boards return limited data (no owner/collaborator info)
- Private boards still require authentication
- Removed separate public route (
/board/public/:linkId) - Single
BoardCanvascomponent handles all boards - Component detects public access from board data
- Share modal shows normal board link for public access
publicAccess.linkIdfield removedpublicAccess.enabledandpublicAccess.roleremain- Existing public boards will continue to work
- Create a board and enable public access
- Copy the board link
- Open in incognito/private browser
- Verify the board loads without authentication
- Create a board (public access disabled)
- Copy the board link
- Open in incognito/private browser
- Verify you're redirected to login
GET /api/test/public-boards- List all public boardsGET /api/test/boards-count- Board statistics
- Existing public boards with
linkIdwill continue to work - The
linkIdfield is no longer used but won't break existing functionality - Users can still access public boards via the old public links (if they exist)
- New public boards will use the simplified approach
- Public boards are accessible to anyone with the link
- No authentication required for public boards
- Public boards return limited data (no sensitive information)
- Private boards still require proper authentication
- Role-based permissions still apply (viewer vs editor)