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

Collab enhancement + Chat + Homepage #76

Merged
merged 52 commits into from
Nov 3, 2024
Merged

Collab enhancement + Chat + Homepage #76

merged 52 commits into from
Nov 3, 2024

Conversation

limcaaarl
Copy link

Description

  • Add homepage, which includes a table for users to view/rejoin their active sessions.
  • Add chat functionality for collab.
  • Add line wrap for editor.
  • Add language selection, which auto syncs for both users.
  • Update splitter to highlight on hover.
  • Add more languages to codemirror.
  • Allow indentation with tab key.
  • Add more languages for code formatters. I tried my best and currently this only supports the following: java, javascript, PHP, XML, rust, SQL. This is 6/18 languages currently available in the editor.
  • Update default path to /home. (including logo click) .

Checklist

  • Collab page enhancement
  • Rejoin sessions/homepage
  • Chat

Screenshots (if applicable)

image
image

limcaaarl and others added 30 commits November 2, 2024 11:55
After the change, the content of the components spill over when
it's too long. Now, it should be containted within the boxes
even if the content of each component is long

(cherry picked from commit 6aa266b)
(cherry picked from commit fbb31e7)
- Basic HTML and CSS for Chat
- Basic Functionality for Chat

(cherry picked from commit 8e153cf)
(cherry picked from commit a5a23c8)
(cherry picked from commit 849c37f)
Previously, the language selected would disappear if you
refresh the page. Now, it's able to pick up the last language
selected.

(cherry picked from commit e639b21)
- Update HTML and CSS for Chat
- Update functionality to include timestamp

(cherry picked from commit 014b85b)
The previous commit introduced a bug where the editor's
content is duplicated upon refresh.

(cherry picked from commit d482a65)
(cherry picked from commit 82143f3)
Moved websocket and ydoc init to collab component.
This lets the ydoc to be shared to chat component without
affecting the layout. Plus, it makes more sense that collab
handles all this instead of the editor component

(cherry picked from commit 0329971)
(cherry picked from commit 2da56a9)
Fixed the styling issues introduced by chatbox component

(cherry picked from commit 05d4799)
After the change, the content of the components spill over when
it's too long. Now, it should be containted within the boxes
even if the content of each component is long

(cherry picked from commit f959fec)
(cherry picked from commit e4dfed2)
(cherry picked from commit db98a1d)
(cherry picked from commit 8672b34)
Previously, the language selected would disappear if you
refresh the page. Now, it's able to pick up the last language
selected.

(cherry picked from commit 49c6dd2)
The previous commit introduced a bug where the editor's
content is duplicated upon refresh.

(cherry picked from commit 5aec692)
(cherry picked from commit 2ff3ac0)
(cherry picked from commit c6e6432)
- Added Mute/Unmute Functionality

(cherry picked from commit 807485f)
- collaboration.component.ts: Change from user_id to access token
- chat-box.component.ts: Change functionality such that user can`t
see what the other user type during the muted period, even after he/she
unmute

(cherry picked from commit e43f6bc)
- roomRoutes: Update routes
- roomController: Add method to get room details by user
- mongoDbService: Update findRoomsByUserId method

(cherry picked from commit c8e5bb8)
roomController: Add Users In Room Details Retrieved for method getRoomsByUserIdandStatusController
(cherry picked from commit 92fdb51)
(cherry picked from commit e6cddff)
- Allow retrieval of active room sessions
- Add routing for rejoining room
- Add routing for going to match page

(cherry picked from commit 0d02d28)
(cherry picked from commit bf6dd5e)
Copy link

@samuelim01 samuelim01 left a comment

Choose a reason for hiding this comment

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

LGTM, everything seems to work as intended. I didn't have time to go through all the code though.

services/collaboration/README.md Outdated Show resolved Hide resolved
services/collaboration/README.md Outdated Show resolved Hide resolved
services/collaboration/src/events/broker.ts Show resolved Hide resolved

Choose a reason for hiding this comment

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

I'm getting this warning:

core.mjs:33117 NG0913: An image with src http://localhost:4200/pair-programming.png has intrinsic file dimensions much larger than its rendered size. This can negatively impact application loading performance. For more information about addressing or disabling this warning, see https://angular.dev/errors/NG0913. Find more at https://angular.dev/errors/NG0913

Copy link
Author

Choose a reason for hiding this comment

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

Seems to be an issue that happens when the image size is > than screen size. Got it fixed by adding breakpoints.

Choose a reason for hiding this comment

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

@limcaaarl Apparently Angular can generate the srcset automatically if we use ngSrc instead of src not sure if you wanna try that out: https://angular.dev/errors/NG0913#ways-to-fix-oversized-images

frontend/src/app/collaboration/editor/languages.ts Outdated Show resolved Hide resolved
KhoonSun47 and others added 6 commits November 3, 2024 13:00
- Change the API for getting rooms details using isForfeit and roomStatus
- Change the room routes
- Change the client way to call the updated API
- Update README.md
- Reduce padding to give more content space
- Removed frontend frameworks and data representation languages
- Made the button for editor slightly smaller to match chat, and fix
the spacing.
@limcaaarl limcaaarl merged commit cf4f491 into main Nov 3, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Collab Page Enhancement Add Homepage Add Chat Component Add Chat Service
3 participants