EmilySun621 opened a new pull request, #5100:
URL: https://github.com/apache/texera/pull/5100

   The Story
   Dr. Sarah's lab has 5 people. They all use Texera. But their workspace is 
chaos โ€” 30 workflows with names like "Untitled workflow", no way to organize 
them by research project, no way to communicate inside the platform. They use 
Slack to discuss workflows, then switch back to Texera to make changes. Context 
is lost constantly.
   When two students edit the same workflow, they can see each other's cursors 
(Texera already has real-time collab), but they can't talk to each other. They 
can't leave a comment on a specific operator saying "this join looks wrong." 
They can't see who's online or what anyone else is working on.
   We fixed the organization problem and the communication problem in one PR.
   What We Built
   1. Project Gallery โ€” Organize Everything
   Texera had a basic project feature, but it was hidden and bare-bones. We 
redesigned it into a first-class experience.
   Project List Page:
   
   Card-based layout with emoji icons, colored circles, project descriptions
   Stats at a glance: ๐Ÿ“„ N workflows ยท ๐Ÿ“Š N datasets ยท ๐Ÿ‘ฅ N members
   Create Project dialog with emoji picker and color swatches
   
   Project Detail Page โ€” 3 tabs:
   
   Workflows tab: Direct list of project workflows with Open and Remove 
actions. "Create Workflow" for new ones, "Add Existing Workflow" to pull in 
workflows you've already built. No more hunting through a flat list of 30 
"Untitled workflow" entries.
   Datasets tab: Connect datasets to your project to keep related data and 
workflows together. "Add Existing Dataset" modal to pick from your uploaded 
datasets.
   Members tab: Redesigned sharing UI โ€” single-line invite (email + role 
dropdown + Invite button), clean member list with avatar, name, and role badge 
(Owner/Editor/Viewer).
   
   Workflow badges: On the main Workflows page, each workflow now shows colored 
project chips with emoji, so you can see at a glance which project it belongs 
to.
   2. Collaboration Suite โ€” Talk Where You Work
   A new Collaboration panel in the workflow editor with three tabs:
   Team Chat:
   
   Real-time messaging between all collaborators on the current workflow
   Messages show avatar, name, timestamp
   Agent actions appear as system messages ("๐Ÿค– Agent added RandomForest 
operator")
   No more switching to Slack to discuss a workflow
   
   Operator Comments:
   
   Right-click any operator โ†’ "Add Comment"
   Comment threads anchored to specific operators
   ๐Ÿ’ฌ badge on operators with unresolved comments
   Comments tab shows all threads across the workflow, grouped by operator
   Click a thread โ†’ canvas highlights that operator
   Resolve threads when discussion is done
   
   Online Presence:
   
   See who's currently viewing/editing the workflow
   Status: ๐ŸŸข active, ๐ŸŸก idle
   Shows which operator each collaborator is working on
   
   Demo
   
   Open Projects โ†’ Create "๐Ÿงฌ Diabetes Study" โ†’ add 3 workflows and a dataset
   Invite a collaborator โ†’ they see the project and its contents
   Open a workflow โ†’ click ๐Ÿ‘ฅ Collaboration button in toolbar
   Team Chat: send "Let's add evaluation metrics"
   Right-click Random Forest operator โ†’ Add Comment โ†’ "Should we tune 
hyperparameters?"
   ๐Ÿ’ฌ badge appears on the operator
   Online tab shows both users active
   
   Technical Details
   Project Gallery
   
   Redesigned user-project.component โ€” card layout, stats, emoji icons 
(localStorage for icons, no DB migration)
   New create-project-dialog/ component โ€” emoji picker, color swatches, 
validation
   Redesigned user-project-section.component โ€” 3-tab layout 
(Workflows/Datasets/Members)
   Direct workflow list rendering bypassing SearchResultsComponent for reliable 
display
   add-dataset-dialog/ โ€” modal for associating existing datasets with projects
   share-access.component made inline-compatible (was modal-only before)
   Workflow list items now show project badges with emoji + color
   Projects sidebar link always visible (removed feature flag gate)
   
   Collaboration Suite
   
   New collaboration-panel/ component with 3-tab layout
   collaboration.service.ts โ€” Yjs-backed real-time sync for chat and comments
   Menu toggle button with unresolved comment count badge
   Right-click context menu "Add Comment" integration
   Panel wired into workspace.component alongside existing panels
   
   Files Changed
   Project Gallery
   
   dashboard/component/user/user-project/ โ€” list page, list item, section, 
create dialog
   dashboard/component/user/user-project/project-icon.util.ts โ€” emoji storage
   dashboard/component/user/user-workflow/user-workflow-list-item/ โ€” project 
badges
   dashboard/component/user/share-access/ โ€” inline mode support
   dashboard/component/dashboard.component.html โ€” sidebar always-show fix
   dashboard/component/dashboard.component.ts โ€” projects_enabled forced true
   
   Collaboration Suite
   
   workspace/component/collaboration-panel/ โ€” panel component (ts, html, scss)
   workspace/service/collaboration/ โ€” service + types
   workspace/component/menu/menu.component.* โ€” toggle button + badge
   workspace/component/workflow-editor/context-menu/ โ€” "Add Comment" item
   
   Testing
   
   Angular build: clean โœ…
   Project CRUD: create, edit, delete projects โœ…
   Add/remove workflows to project โœ…
   Add datasets to project โœ…
   Member invite UI โœ…
   Collaboration panel renders โœ…
   Comment on operator via right-click โœ…


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to