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

E2E Test Landing Page #303

Open
4 tasks
kadey001 opened this issue Apr 22, 2022 · 0 comments
Open
4 tasks

E2E Test Landing Page #303

kadey001 opened this issue Apr 22, 2022 · 0 comments
Assignees

Comments

@kadey001
Copy link
Collaborator

kadey001 commented Apr 22, 2022

  • Images and text are visible
  • Register button works
  • Carousel buttons work
  • Redirects when authenticated
@kadey001 kadey001 added this to the Testing Coverage milestone Apr 22, 2022
@dianeshan dianeshan self-assigned this Apr 26, 2022
kadey001 added a commit that referenced this issue Jun 24, 2022
* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>
DevelopmentByDavid pushed a commit that referenced this issue Jul 4, 2022
* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>
kadey001 added a commit that referenced this issue Aug 12, 2022
* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>
kadey001 added a commit that referenced this issue Dec 8, 2022
* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>
kadey001 added a commit that referenced this issue Jan 9, 2023
* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

* E2E Test changes + Minor Event Form Fix (#342)

* fix(event form): titles now display correctly

* chore(e2e): updated landing tests to page object model

* chore(e2e): added setup and teardown

* chore(prisma): updated seed to ensure clean db before testing

* chore(e2e): updated test format to be more clear and user workflow focused

* chore(cleanup): updated casing for consistancy

* chore(e2e): updated naming for tests

* chore(e2e): added scaffolding for other page classes

* chore(e2e): removed unused imports

* docs(e2e): added first draft of e2e documentation

* docs(e2e): implemented suggestions

* chore(server): add prisma generate to dev script

* fix(prisma generate): moved to prevent tests running before server is up

* chore(prisma): added default and organizer account to seed

* chore(e2e): updated setup to login + added organizer context

* feat(server): added fixtures for organizations page

* chore(fixtures): added link to documentation

* chore(e2e): minor tweaks + moved fixtures to util folder

* feat(server): pretty print graphql strings in pino

* Protected Server Errors Implemented (#345)

* fix(server): updated errors to protected errors

* chore(server): updated internal err msgs to include more info

* fix(server): internal message now displays expected message

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Events Dashboard (#243)

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Project Maintenance  (#351)

* fix(server): log user err if no internal err set

* chore(server): added internal err msg for auth validation

* chore(cleanup): removed unused package lockfile

* fix(server): updated unit tests to expect new internal error messages

* chore(yarn): updated yarn to latest stable

* ci(fix): server-build-lint-test now builds correct dockerfile

* #114 reset password (#186)

* feat(graphql): added reset password request mutation

* feat(errors): added email error to common error list

* feat(mutation): implemented reset password request mutation

* feat(errors): added jwt common error message

* feat(email): added password reset template type

* feat(graphql): added reset password mutation+query types

* feat(resolver): implemented resolvers for password reset

* refactor(snackbar): improved snackbar options and added default dismiss action

* feat(forgot password): implemented forgot password page

* feat(password reset): implemented password reset page

* fix(client): updated material ui import

* fix(server): removed old import

* chore(client): updated generated files

* fix(client): snackbar option types are now imported from library

* fix(client): fixed improts of new core location

* fix(client): updated pass reset on failure route

* chore(cleanup): post rebase cleanup

* chore(client): updated text field for reset request form

* fix(client): forgot password button now closes login modal properly

* Reset Password Fix (#353)

* feat(errors): added email error to common error list

* fix(server): return reset password mutation

* fix(internal error): implemented abstract class for password reset mutation response

* Dockerized Dev Environment (#361)

* fix(nvmrc): comment breaks nvm use so it is now removed

* chore(script): added dev-docker script for use with docker-compose

* feat(docker-compose): dockerized project dev environment

* fix(scripts): dev script now runs prisma-db-push to propagate changes made to prisma schema

* docs(update): fixed run command and added setup with docker-compose

* fix(docker-compose) Updated to enable colors

Added tty: true field to app service to enable colors for logging output

* Prisma Migrations CI (#363)

* feat(prisma): added init migration and migration scripts

* ci(server-workflow): added prisma migrate deploy command

* Fixes (#364)

* fix(dockerfile): updated watchman setup to enable relay --watch flag functionality

* fix(script): added --force-reset flag to docker dev command

* chore(packages): updated express types to address yarn install warning

* fix(scripts): updated prisma-db-push flag

Changed flag from --force-reset to --accept-data-loss (this ensures db isn't wiped every time `docker-compose up` is run but any data loss warnings are ignored while prototyping)

* Question position bigint update (#343)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* Revert "Question position bigint update (#343)" (#365)

This reverts commit 744f7d5.

* Question position bigint update (#366)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* Revert "Question position bigint update (#366)" (#367)

This reverts commit 41d2e62.

* Question position bigint update (#368)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* Revert "Question position bigint update (#368)" (#369)

This reverts commit 78ebc69.

* Question position bigint update (#370)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* Revert "Question position bigint update (#370)" (#371)

This reverts commit fe62fd8.

* fix(docker-compose): added rw flag to target volume to avoid .next files being set to root owner

* Pkg & Docker-Compose Updates (#373)

* chore(pkg): updated client browserlist

* fix(docker-compose): added user field and removed rw from target to fix file ownership issues

* chore(pkgs): updated prisma and playwright

* chore(docker-compose): added prisma-studio service

* Feedback Prompts (#362)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* Revert "Feedback Prompts (#362)" (#374)

This reverts commit 7c7c861.

* Feedback promps (#375)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* chore(prisma): added migration for db changes

* Implement client side message validation (#259)

* test(client-side message validation): :omit

not finished

:omit

* test: client-side message validation

checks for char length > 1000 and for external links

* test: clean up comments

* removed Error class

* moved isURL to src/utils/index.ts

* env var for QUESTIONS_MAX_LENGTH

* updated regex w/source link

* added same checks for feedbacks

* fix(max-len): updated to match db limitations

* fix(validation): moved validation to before commit to ensure invalid mutations are not sent

* feat(input-len): added current input length to question+feedback forms so users know the limit

Co-authored-by: kadey001 <kadey001@ucr.edu>

* workflow(e2e): updated to only run on pull request to prod branch

* config(commitlint): added more type enums

* Dashboard tweaks (#355)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* Revert "Dashboard tweaks (#355)" (#378)

This reverts commit 28b5239.

* Implement subscriptions for dashboard events. (#348)

* feat(fullstack): Implemented subscriptions for dashboard events.

* fix(e2e): Forgot to revert `workers` variable back from local setting

* fix(client): updated dashboard fragment to polling query

* chore(dashboard): cleanup and adjusted refresh intervals

Co-authored-by: kadey001 <kadey001@ucr.edu>

* Dashboard tweaks (#379)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* Revert "Dashboard tweaks (#379)" (#380)

This reverts commit 013e5d2.

* Dashboard tweaks (#381)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* fix(dashboard): fixed event list updates bug

* fix(dashboard): added dependency array values

* Question position string update (#376)

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* Revert "Question position string update (#376)" (#383)

This reverts commit 4cb582b.

* Fixes for the frontend (#136)

* fix(frontend): fix alignment

* fix(frontend): login/registration links

* fix(frontend): hide/reveal links when logged in

* fix(frontend): form validation, imports, and types

* fix(frontend): form validation for orgs

* fix(frontend): key display

* fix(frontend): settings title

* fix(frontend): fix input type

* fix(frontend): email validation

* fix(frontend): update display for users yet to register

* fix(frontend): adjust display

* fix(client): fix broken client; probably a mistake in rebasing

* fix(event-settings): updated event form button text and fixed invite link section

* fix(snack): fixed snack ref and options

* fix(event-form): yup validation errors now show

* chore(cleanup): removed console log

* fix(forms): yup errors now display on submit and snack variants added

* fix(errors): fixed type errors

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Workflow + Cleanup (#385)

* chore(cleanup): removed console logs

* ci(e2e): added e2e dev test file and comments for workflows purpose

* chore(cleanup): removed missed console log

* Merge Prod into Staging (#389)

* Deploy latest changes to production (#337)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* Revert "Deploy latest changes to production (#337)"

This reverts commit 178b043.

* Deploy latest version to production (#340)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(merge): fixed merge mistakes

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(e2e): updated e2e tests

* ci(kubernetes): updated session affinity to client ip

* Revert "Session Affinity Change"

* chore(k8): updated session affinity to ClientIP

* Bugfixes (#393)

* fix(enqueued button): added publish to question updated subscription on queue change

* fix(dequeue): error msg now displays correctly when trying to dequeue a previously asked question

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(e2e): removed only

* Sharp (#394)

* chore(next): added image cache ttl and priority tag

* fix(sharp): added sharp package and NEXT_SHARP_PATH

* fix(sharp): made sure env was defined before build

* Feedback prompts update (#382)

* fix(feedback-results): prompts list now query, suspense moved to fix flashing issue, dispose query

* fix(subscription): feedback promps now only pushed to logged in users

* chore(prompts-list): moved conditional render, removed console log, updated initial query load

* chore(responses): updated todos and set maximum on number of response cards visible

* feat(prompt-responses): added ability to share feedback vote responses

* refactor(vote chart): moved vote response chart to separate component

* fix(vote response chart): moved chart selection to different component to avoid re-rendering bug

* feat(vote-response-chart): added chart type selection

* feat(vote-response-chart): added stacked bar chart option

* fix(question-quote): added validation checks for question quotes

* fix(ask-question): added missing variant to snack

* feat(feedback-prompts): added validation for prompt form submission

* fix(prompts): added word wrapping for prompt typographys

* fix(validation): added more validation and form input length to form

* chore(snack): increased max snacks to 3

* chore(prompts): updated all prompt related modals to dialogs

* fix(dialog-title): typo

* chore(live-feedback-prompts): moved to its own feature folder

* chore(live-feedback-prompts): added index file

* fix(response-snack): should now close properly

* chore(prompt-list): added tabs for prompt list types and updated view button

* chore(event-sidebar): updated ui to more closely match figma designs

* Bugfixes (#396)

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(url-test): updated regex to be a bit less strict

* fix(prompts): all prompts should wrap now + more padding

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>
Co-authored-by: michael07w <michaelwessels207@gmail.com>
Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: Minsoo Kim <minsooerickim@gmail.com>
Co-authored-by: J.S. Pescasio <jpesc002@ucr.edu>
kadey001 added a commit that referenced this issue Jan 31, 2023
* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

* E2E Test changes + Minor Event Form Fix (#342)

* fix(event form): titles now display correctly

* chore(e2e): updated landing tests to page object model

* chore(e2e): added setup and teardown

* chore(prisma): updated seed to ensure clean db before testing

* chore(e2e): updated test format to be more clear and user workflow focused

* chore(cleanup): updated casing for consistancy

* chore(e2e): updated naming for tests

* chore(e2e): added scaffolding for other page classes

* chore(e2e): removed unused imports

* docs(e2e): added first draft of e2e documentation

* docs(e2e): implemented suggestions

* chore(server): add prisma generate to dev script

* fix(prisma generate): moved to prevent tests running before server is up

* chore(prisma): added default and organizer account to seed

* chore(e2e): updated setup to login + added organizer context

* feat(server): added fixtures for organizations page

* chore(fixtures): added link to documentation

* chore(e2e): minor tweaks + moved fixtures to util folder

* feat(server): pretty print graphql strings in pino

* Protected Server Errors Implemented (#345)

* fix(server): updated errors to protected errors

* chore(server): updated internal err msgs to include more info

* fix(server): internal message now displays expected message

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Events Dashboard (#243)

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Project Maintenance  (#351)

* fix(server): log user err if no internal err set

* chore(server): added internal err msg for auth validation

* chore(cleanup): removed unused package lockfile

* fix(server): updated unit tests to expect new internal error messages

* chore(yarn): updated yarn to latest stable

* ci(fix): server-build-lint-test now builds correct dockerfile

* #114 reset password (#186)

* feat(graphql): added reset password request mutation

* feat(errors): added email error to common error list

* feat(mutation): implemented reset password request mutation

* feat(errors): added jwt common error message

* feat(email): added password reset template type

* feat(graphql): added reset password mutation+query types

* feat(resolver): implemented resolvers for password reset

* refactor(snackbar): improved snackbar options and added default dismiss action

* feat(forgot password): implemented forgot password page

* feat(password reset): implemented password reset page

* fix(client): updated material ui import

* fix(server): removed old import

* chore(client): updated generated files

* fix(client): snackbar option types are now imported from library

* fix(client): fixed improts of new core location

* fix(client): updated pass reset on failure route

* chore(cleanup): post rebase cleanup

* chore(client): updated text field for reset request form

* fix(client): forgot password button now closes login modal properly

* Reset Password Fix (#353)

* feat(errors): added email error to common error list

* fix(server): return reset password mutation

* fix(internal error): implemented abstract class for password reset mutation response

* Dockerized Dev Environment (#361)

* fix(nvmrc): comment breaks nvm use so it is now removed

* chore(script): added dev-docker script for use with docker-compose

* feat(docker-compose): dockerized project dev environment

* fix(scripts): dev script now runs prisma-db-push to propagate changes made to prisma schema

* docs(update): fixed run command and added setup with docker-compose

* fix(docker-compose) Updated to enable colors

Added tty: true field to app service to enable colors for logging output

* Prisma Migrations CI (#363)

* feat(prisma): added init migration and migration scripts

* ci(server-workflow): added prisma migrate deploy command

* Fixes (#364)

* fix(dockerfile): updated watchman setup to enable relay --watch flag functionality

* fix(script): added --force-reset flag to docker dev command

* chore(packages): updated express types to address yarn install warning

* fix(scripts): updated prisma-db-push flag

Changed flag from --force-reset to --accept-data-loss (this ensures db isn't wiped every time `docker-compose up` is run but any data loss warnings are ignored while prototyping)

* Question position bigint update (#343)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* Revert "Question position bigint update (#343)" (#365)

This reverts commit 744f7d5.

* Question position bigint update (#366)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* Revert "Question position bigint update (#366)" (#367)

This reverts commit 41d2e62.

* Question position bigint update (#368)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* Revert "Question position bigint update (#368)" (#369)

This reverts commit 78ebc69.

* Question position bigint update (#370)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* Revert "Question position bigint update (#370)" (#371)

This reverts commit fe62fd8.

* fix(docker-compose): added rw flag to target volume to avoid .next files being set to root owner

* Pkg & Docker-Compose Updates (#373)

* chore(pkg): updated client browserlist

* fix(docker-compose): added user field and removed rw from target to fix file ownership issues

* chore(pkgs): updated prisma and playwright

* chore(docker-compose): added prisma-studio service

* Feedback Prompts (#362)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* Revert "Feedback Prompts (#362)" (#374)

This reverts commit 7c7c861.

* Feedback promps (#375)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* chore(prisma): added migration for db changes

* Implement client side message validation (#259)

* test(client-side message validation): :omit

not finished

:omit

* test: client-side message validation

checks for char length > 1000 and for external links

* test: clean up comments

* removed Error class

* moved isURL to src/utils/index.ts

* env var for QUESTIONS_MAX_LENGTH

* updated regex w/source link

* added same checks for feedbacks

* fix(max-len): updated to match db limitations

* fix(validation): moved validation to before commit to ensure invalid mutations are not sent

* feat(input-len): added current input length to question+feedback forms so users know the limit

Co-authored-by: kadey001 <kadey001@ucr.edu>

* workflow(e2e): updated to only run on pull request to prod branch

* config(commitlint): added more type enums

* Dashboard tweaks (#355)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* Revert "Dashboard tweaks (#355)" (#378)

This reverts commit 28b5239.

* Implement subscriptions for dashboard events. (#348)

* feat(fullstack): Implemented subscriptions for dashboard events.

* fix(e2e): Forgot to revert `workers` variable back from local setting

* fix(client): updated dashboard fragment to polling query

* chore(dashboard): cleanup and adjusted refresh intervals

Co-authored-by: kadey001 <kadey001@ucr.edu>

* Dashboard tweaks (#379)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* Revert "Dashboard tweaks (#379)" (#380)

This reverts commit 013e5d2.

* Dashboard tweaks (#381)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* fix(dashboard): fixed event list updates bug

* fix(dashboard): added dependency array values

* Question position string update (#376)

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* Revert "Question position string update (#376)" (#383)

This reverts commit 4cb582b.

* Fixes for the frontend (#136)

* fix(frontend): fix alignment

* fix(frontend): login/registration links

* fix(frontend): hide/reveal links when logged in

* fix(frontend): form validation, imports, and types

* fix(frontend): form validation for orgs

* fix(frontend): key display

* fix(frontend): settings title

* fix(frontend): fix input type

* fix(frontend): email validation

* fix(frontend): update display for users yet to register

* fix(frontend): adjust display

* fix(client): fix broken client; probably a mistake in rebasing

* fix(event-settings): updated event form button text and fixed invite link section

* fix(snack): fixed snack ref and options

* fix(event-form): yup validation errors now show

* chore(cleanup): removed console log

* fix(forms): yup errors now display on submit and snack variants added

* fix(errors): fixed type errors

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Workflow + Cleanup (#385)

* chore(cleanup): removed console logs

* ci(e2e): added e2e dev test file and comments for workflows purpose

* chore(cleanup): removed missed console log

* Merge Prod into Staging (#389)

* Deploy latest changes to production (#337)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* Revert "Deploy latest changes to production (#337)"

This reverts commit 178b043.

* Deploy latest version to production (#340)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(merge): fixed merge mistakes

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(e2e): updated e2e tests

* ci(kubernetes): updated session affinity to client ip

* Revert "Session Affinity Change"

* chore(k8): updated session affinity to ClientIP

* Bugfixes (#393)

* fix(enqueued button): added publish to question updated subscription on queue change

* fix(dequeue): error msg now displays correctly when trying to dequeue a previously asked question

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(e2e): removed only

* Sharp (#394)

* chore(next): added image cache ttl and priority tag

* fix(sharp): added sharp package and NEXT_SHARP_PATH

* fix(sharp): made sure env was defined before build

* Feedback prompts update (#382)

* fix(feedback-results): prompts list now query, suspense moved to fix flashing issue, dispose query

* fix(subscription): feedback promps now only pushed to logged in users

* chore(prompts-list): moved conditional render, removed console log, updated initial query load

* chore(responses): updated todos and set maximum on number of response cards visible

* feat(prompt-responses): added ability to share feedback vote responses

* refactor(vote chart): moved vote response chart to separate component

* fix(vote response chart): moved chart selection to different component to avoid re-rendering bug

* feat(vote-response-chart): added chart type selection

* feat(vote-response-chart): added stacked bar chart option

* fix(question-quote): added validation checks for question quotes

* fix(ask-question): added missing variant to snack

* feat(feedback-prompts): added validation for prompt form submission

* fix(prompts): added word wrapping for prompt typographys

* fix(validation): added more validation and form input length to form

* chore(snack): increased max snacks to 3

* chore(prompts): updated all prompt related modals to dialogs

* fix(dialog-title): typo

* chore(live-feedback-prompts): moved to its own feature folder

* chore(live-feedback-prompts): added index file

* fix(response-snack): should now close properly

* chore(prompt-list): added tabs for prompt list types and updated view button

* chore(event-sidebar): updated ui to more closely match figma designs

* Bugfixes (#396)

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(url-test): updated regex to be a bit less strict

* fix(prompts): all prompts should wrap now + more padding

* Hotfix (#401)

* chore(e2e): updated number of retries to 1 when running tests locally

* chore(register): updated password helper text

* fix(user menu): added router reload after regiser and moved close to after reload

---------

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>
Co-authored-by: michael07w <michaelwessels207@gmail.com>
Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: Minsoo Kim <minsooerickim@gmail.com>
Co-authored-by: J.S. Pescasio <jpesc002@ucr.edu>
kadey001 added a commit that referenced this issue Apr 10, 2023
* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

* E2E Test changes + Minor Event Form Fix (#342)

* fix(event form): titles now display correctly

* chore(e2e): updated landing tests to page object model

* chore(e2e): added setup and teardown

* chore(prisma): updated seed to ensure clean db before testing

* chore(e2e): updated test format to be more clear and user workflow focused

* chore(cleanup): updated casing for consistancy

* chore(e2e): updated naming for tests

* chore(e2e): added scaffolding for other page classes

* chore(e2e): removed unused imports

* docs(e2e): added first draft of e2e documentation

* docs(e2e): implemented suggestions

* chore(server): add prisma generate to dev script

* fix(prisma generate): moved to prevent tests running before server is up

* chore(prisma): added default and organizer account to seed

* chore(e2e): updated setup to login + added organizer context

* feat(server): added fixtures for organizations page

* chore(fixtures): added link to documentation

* chore(e2e): minor tweaks + moved fixtures to util folder

* feat(server): pretty print graphql strings in pino

* Protected Server Errors Implemented (#345)

* fix(server): updated errors to protected errors

* chore(server): updated internal err msgs to include more info

* fix(server): internal message now displays expected message

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Events Dashboard (#243)

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Project Maintenance  (#351)

* fix(server): log user err if no internal err set

* chore(server): added internal err msg for auth validation

* chore(cleanup): removed unused package lockfile

* fix(server): updated unit tests to expect new internal error messages

* chore(yarn): updated yarn to latest stable

* ci(fix): server-build-lint-test now builds correct dockerfile

* #114 reset password (#186)

* feat(graphql): added reset password request mutation

* feat(errors): added email error to common error list

* feat(mutation): implemented reset password request mutation

* feat(errors): added jwt common error message

* feat(email): added password reset template type

* feat(graphql): added reset password mutation+query types

* feat(resolver): implemented resolvers for password reset

* refactor(snackbar): improved snackbar options and added default dismiss action

* feat(forgot password): implemented forgot password page

* feat(password reset): implemented password reset page

* fix(client): updated material ui import

* fix(server): removed old import

* chore(client): updated generated files

* fix(client): snackbar option types are now imported from library

* fix(client): fixed improts of new core location

* fix(client): updated pass reset on failure route

* chore(cleanup): post rebase cleanup

* chore(client): updated text field for reset request form

* fix(client): forgot password button now closes login modal properly

* Reset Password Fix (#353)

* feat(errors): added email error to common error list

* fix(server): return reset password mutation

* fix(internal error): implemented abstract class for password reset mutation response

* Dockerized Dev Environment (#361)

* fix(nvmrc): comment breaks nvm use so it is now removed

* chore(script): added dev-docker script for use with docker-compose

* feat(docker-compose): dockerized project dev environment

* fix(scripts): dev script now runs prisma-db-push to propagate changes made to prisma schema

* docs(update): fixed run command and added setup with docker-compose

* fix(docker-compose) Updated to enable colors

Added tty: true field to app service to enable colors for logging output

* Prisma Migrations CI (#363)

* feat(prisma): added init migration and migration scripts

* ci(server-workflow): added prisma migrate deploy command

* Fixes (#364)

* fix(dockerfile): updated watchman setup to enable relay --watch flag functionality

* fix(script): added --force-reset flag to docker dev command

* chore(packages): updated express types to address yarn install warning

* fix(scripts): updated prisma-db-push flag

Changed flag from --force-reset to --accept-data-loss (this ensures db isn't wiped every time `docker-compose up` is run but any data loss warnings are ignored while prototyping)

* Question position bigint update (#343)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* Revert "Question position bigint update (#343)" (#365)

This reverts commit 744f7d5.

* Question position bigint update (#366)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* Revert "Question position bigint update (#366)" (#367)

This reverts commit 41d2e62.

* Question position bigint update (#368)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* Revert "Question position bigint update (#368)" (#369)

This reverts commit 78ebc69.

* Question position bigint update (#370)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* Revert "Question position bigint update (#370)" (#371)

This reverts commit fe62fd8.

* fix(docker-compose): added rw flag to target volume to avoid .next files being set to root owner

* Pkg & Docker-Compose Updates (#373)

* chore(pkg): updated client browserlist

* fix(docker-compose): added user field and removed rw from target to fix file ownership issues

* chore(pkgs): updated prisma and playwright

* chore(docker-compose): added prisma-studio service

* Feedback Prompts (#362)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* Revert "Feedback Prompts (#362)" (#374)

This reverts commit 7c7c861.

* Feedback promps (#375)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* chore(prisma): added migration for db changes

* Implement client side message validation (#259)

* test(client-side message validation): :omit

not finished

:omit

* test: client-side message validation

checks for char length > 1000 and for external links

* test: clean up comments

* removed Error class

* moved isURL to src/utils/index.ts

* env var for QUESTIONS_MAX_LENGTH

* updated regex w/source link

* added same checks for feedbacks

* fix(max-len): updated to match db limitations

* fix(validation): moved validation to before commit to ensure invalid mutations are not sent

* feat(input-len): added current input length to question+feedback forms so users know the limit

Co-authored-by: kadey001 <kadey001@ucr.edu>

* workflow(e2e): updated to only run on pull request to prod branch

* config(commitlint): added more type enums

* Dashboard tweaks (#355)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* Revert "Dashboard tweaks (#355)" (#378)

This reverts commit 28b5239.

* Implement subscriptions for dashboard events. (#348)

* feat(fullstack): Implemented subscriptions for dashboard events.

* fix(e2e): Forgot to revert `workers` variable back from local setting

* fix(client): updated dashboard fragment to polling query

* chore(dashboard): cleanup and adjusted refresh intervals

Co-authored-by: kadey001 <kadey001@ucr.edu>

* Dashboard tweaks (#379)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* Revert "Dashboard tweaks (#379)" (#380)

This reverts commit 013e5d2.

* Dashboard tweaks (#381)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* fix(dashboard): fixed event list updates bug

* fix(dashboard): added dependency array values

* Question position string update (#376)

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* Revert "Question position string update (#376)" (#383)

This reverts commit 4cb582b.

* Fixes for the frontend (#136)

* fix(frontend): fix alignment

* fix(frontend): login/registration links

* fix(frontend): hide/reveal links when logged in

* fix(frontend): form validation, imports, and types

* fix(frontend): form validation for orgs

* fix(frontend): key display

* fix(frontend): settings title

* fix(frontend): fix input type

* fix(frontend): email validation

* fix(frontend): update display for users yet to register

* fix(frontend): adjust display

* fix(client): fix broken client; probably a mistake in rebasing

* fix(event-settings): updated event form button text and fixed invite link section

* fix(snack): fixed snack ref and options

* fix(event-form): yup validation errors now show

* chore(cleanup): removed console log

* fix(forms): yup errors now display on submit and snack variants added

* fix(errors): fixed type errors

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Workflow + Cleanup (#385)

* chore(cleanup): removed console logs

* ci(e2e): added e2e dev test file and comments for workflows purpose

* chore(cleanup): removed missed console log

* Merge Prod into Staging (#389)

* Deploy latest changes to production (#337)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* Revert "Deploy latest changes to production (#337)"

This reverts commit 178b043.

* Deploy latest version to production (#340)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(merge): fixed merge mistakes

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(e2e): updated e2e tests

* ci(kubernetes): updated session affinity to client ip

* Revert "Session Affinity Change"

* chore(k8): updated session affinity to ClientIP

* Bugfixes (#393)

* fix(enqueued button): added publish to question updated subscription on queue change

* fix(dequeue): error msg now displays correctly when trying to dequeue a previously asked question

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(e2e): removed only

* Sharp (#394)

* chore(next): added image cache ttl and priority tag

* fix(sharp): added sharp package and NEXT_SHARP_PATH

* fix(sharp): made sure env was defined before build

* Feedback prompts update (#382)

* fix(feedback-results): prompts list now query, suspense moved to fix flashing issue, dispose query

* fix(subscription): feedback promps now only pushed to logged in users

* chore(prompts-list): moved conditional render, removed console log, updated initial query load

* chore(responses): updated todos and set maximum on number of response cards visible

* feat(prompt-responses): added ability to share feedback vote responses

* refactor(vote chart): moved vote response chart to separate component

* fix(vote response chart): moved chart selection to different component to avoid re-rendering bug

* feat(vote-response-chart): added chart type selection

* feat(vote-response-chart): added stacked bar chart option

* fix(question-quote): added validation checks for question quotes

* fix(ask-question): added missing variant to snack

* feat(feedback-prompts): added validation for prompt form submission

* fix(prompts): added word wrapping for prompt typographys

* fix(validation): added more validation and form input length to form

* chore(snack): increased max snacks to 3

* chore(prompts): updated all prompt related modals to dialogs

* fix(dialog-title): typo

* chore(live-feedback-prompts): moved to its own feature folder

* chore(live-feedback-prompts): added index file

* fix(response-snack): should now close properly

* chore(prompt-list): added tabs for prompt list types and updated view button

* chore(event-sidebar): updated ui to more closely match figma designs

* Bugfixes (#396)

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(url-test): updated regex to be a bit less strict

* fix(prompts): all prompts should wrap now + more padding

* Hotfix (#401)

* chore(e2e): updated number of retries to 1 when running tests locally

* chore(register): updated password helper text

* fix(user menu): added router reload after regiser and moved close to after reload

* Question position bigint update (#384)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* fix(bigint): added bigint scalar to codegen yml

* Revert "Question position bigint update (#384)"

This reverts commit 6264324.

* Question position bigint update (#404)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* fix(bigint): added bigint scalar to codegen yml

* fix(codegen): updated scalar mapping

* fix(type parser): updated parsed value type to js int

* Revert "Question position bigint update (#404)"

This reverts commit ddb5dd0.

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* package(script): added more prisma scripts

* chore(prisma): added down migrations

* fix(question queue): updated increment and decrement queries to cast pos to bigint for order by

* Hotfix (#408)

* fix(registering): added validation check for exisiting accounts

* fix(errors): updated err msg for non protected errors

* chore(shadow accounts): tmp blocking shadow acccount creation

* chore(unit test): commented out shadow account registration test

* Admin dashboard Users/Events(#395)

* feat(gql+prisma): added admin check and query for all users

* feat(client): added admin dashboard routes, users current wip

* feat(admin-users-dashboard): using pagination fragment now instead of list query + filter search

* feat(admin-users-dashboard): upgraded to pagination table

* refactor(table-pagination): moved action function to separate file

* fix(users-table): updated filter field type and table now jus shows empty when no results found

* fix(users-table): updated refetch to refresh callback

* refactor(table-pagination-actions): moved to components

* fix(server-tests): added isAdmin field to user data for tests

* chore(prisma): added migration

* feat(admin): can now promote or demote organizers and added event dashboard

* CSV File invites (#414)

* chore(server+workflow): added origin env

* chore(server pkgs): added multer and papaparse

* chore(git): added csv files to gitignore

* feat(server): added csv invite endpoint and email batching

* feat(client): added csv invite option under event settings

* feat(invite validation): updated validate invite to auto log in user if valid

* Revert "CSV File invites (#414)" (#415)

This reverts commit e424284.

* Csv invites (#416)

* chore(server+workflow): added origin env

* chore(server pkgs): added multer and papaparse

* chore(git): added csv files to gitignore

* feat(server): added csv invite endpoint and email batching

* feat(client): added csv invite option under event settings

* feat(invite validation): updated validate invite to auto log in user if valid

* chore(k8s): added invite-csv route to ingress

* CSV Invites Fix + Improvment (#417)

* fix(csv invite): addressed find unique error, removed console log, users now added to invited table

* feat(invite validation): added event invited table check for validation

* fix(client): added reload after validation

* fix(workflow): added missing build arg and removed unused one

* Image Memory Leak Fix (#420)

* fix(img): replaced next image tags with html img tag

* fix(next): set images to unomtimized

* workflow(trigger): added missing server path trigger + k8 path

* workflow(branches): removed unused/invalid branch triggers

* Csv Invites Fixes (#422)

* chore(invites): updated email template and variables

* chore(invites): implemented client error handling for csv invites

---------

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>
Co-authored-by: michael07w <michaelwessels207@gmail.com>
Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: Minsoo Kim <minsooerickim@gmail.com>
Co-authored-by: J.S. Pescasio <jpesc002@ucr.edu>
kadey001 added a commit that referenced this issue May 2, 2023
* chore(redirect): added tmp link redirect

* fix(pre handler): added prod check to avoid logging sensitive info (#413)

* Deploy Latest to Prod (#412)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

* E2E Test changes + Minor Event Form Fix (#342)

* fix(event form): titles now display correctly

* chore(e2e): updated landing tests to page object model

* chore(e2e): added setup and teardown

* chore(prisma): updated seed to ensure clean db before testing

* chore(e2e): updated test format to be more clear and user workflow focused

* chore(cleanup): updated casing for consistancy

* chore(e2e): updated naming for tests

* chore(e2e): added scaffolding for other page classes

* chore(e2e): removed unused imports

* docs(e2e): added first draft of e2e documentation

* docs(e2e): implemented suggestions

* chore(server): add prisma generate to dev script

* fix(prisma generate): moved to prevent tests running before server is up

* chore(prisma): added default and organizer account to seed

* chore(e2e): updated setup to login + added organizer context

* feat(server): added fixtures for organizations page

* chore(fixtures): added link to documentation

* chore(e2e): minor tweaks + moved fixtures to util folder

* feat(server): pretty print graphql strings in pino

* Protected Server Errors Implemented (#345)

* fix(server): updated errors to protected errors

* chore(server): updated internal err msgs to include more info

* fix(server): internal message now displays expected message

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Events Dashboard (#243)

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(seed): added table drops before seeding

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* Revert "feat(server): pretty print graphql strings in pino"

This reverts commit f4619e4.

* Landing tests #303 (#316)

* testing(fullstack): implement landing page tests

* fix(frontend): minor typo fix on landing page

* chore(e2e): moved landing tests to e2e workspace

Co-authored-by: kadey001 <kadey001@ucr.edu>

* feat(server): added method to return events that a user is a moderator of or has been invited t

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* feat(frontend): Updated event layout to match the format seen in 'My Organizations' page
:skip
:skip

* feat(frontend): Added organization name; Updated event sorting logic
Added organization name to each Dashboard event item; Updated event sorting logic to separate current and upcoming events
:skip

* feat(frontend): Updated Date comparisons, renamed variables, and added live video link
:skip
:skip

* feat(frontend): Add missing semicolons
:skip
:skip

* fix(frontend): Updated material-ui imports to match upgrade to v5
:skip
:skip

* fix(frontend): more updates to material-ui imports for transition to v5

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* feat(frontend): Implemented redirect to landing page, if user is not logged in.

* test(dashboard): Implemented dashboard test specific to mobile.

* feat(frontend): Wrapped Live Feed button in Link component to avoid redirect from event settings page to live page. The ListItem was directing user to event settings, when clicking the Live Feed button, before redirecting to the live page.

* test(dashboard): Implemented all e2e testing for Dashboard.

* test(dashboard): Implemented support for certain tests to run w/o authentication

* refactor(frontend): Consolidated styling and removed unnecessary comments

* refactor(frontend): Updated function to get ongoing and upcoming events.
Incorporated useMemo to memoize ongoing and upcoming events. Updated date comparison logic. Formatted code with prettier.

* refactor(frontend): Created new component to limit code duplication in dashboard
Added DashboardEventListItem to avoid code duplication

* feat(frontend): Updated event button to match organization button in user's settings

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* fix(landing e2e): do not use storage state in landing tests

* feat(server): added resolver to return a particular user's events

Updated graphql schema to support query for a User's events. Also, added resolver to return proper events. Tested with Postman to confirm query returns expected results.

* feat(frontend): built queries/fragments to display necessary events in dashboard

* feat(frontend): Implemented sorting of events into current and upcoming

* test(e2e): Implemented auto-authentication for testing. Also implemented dashboard playwright tests.

* test(dashboard): Updated tests to use global test user

* style(backend): Removed unused import

* chore(client): added data-test-id for create org fab

* fix(e2e): tests use context based on device now, ensuring isolation

* chore(e2e): removed unessisary use statement + updated some to run parallel tests

* chore(e2e): added dashboard test with new patern

* chore(e2e): removed deprecated dashboard tests and setup/teardown

* chore(e2e): added todo + removed debug screenshots

* chore(e2e): added setup for user-dashboard tests

* chore(client): removed unsued storageState

* chore(e2e): removed teardown + increased workers in ci

* Resolving merge conflicts

* test(e2e): implement dashboard tests
This test fails with a high number of workers (>3) on my machine. Pushing to allow others to test locally.

* test(e2e): Implement Dashboard Tests
Re-implemented dashboard tests using the new fixtures (e.g. dashboardPageOrganizer)

* refactor(frontend): Dashboard
Refactored Dashboard into more granular components to increase readability. Updated backend methods/resolvers to remove any duplicate events that could've been returned to user upon DashboardQuery.

* chore(pkgs): ran yarn install

* fix(e2e): moved org tests to test list

* chore(e2e): removed old test-setup

* fix(e2e): serialized dashboard tests

* ci(workflow): updated artifact to test-results

* chore(e2e): updated config, reduced to 1 worker

* chore(e2e): Update Tests to Use Helper Class Variables
Incorporated dates into the helper classes to be used in corresponding tests. Removed unnecessary local configurations in landing tests.

* chore(invites): implemented invitedOf list

* fix(frontend): Resolved console warning
Resolved console warning regarding nesting divs inside p tags.

* chore(cleanup): removed storage states

Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Project Maintenance  (#351)

* fix(server): log user err if no internal err set

* chore(server): added internal err msg for auth validation

* chore(cleanup): removed unused package lockfile

* fix(server): updated unit tests to expect new internal error messages

* chore(yarn): updated yarn to latest stable

* ci(fix): server-build-lint-test now builds correct dockerfile

* #114 reset password (#186)

* feat(graphql): added reset password request mutation

* feat(errors): added email error to common error list

* feat(mutation): implemented reset password request mutation

* feat(errors): added jwt common error message

* feat(email): added password reset template type

* feat(graphql): added reset password mutation+query types

* feat(resolver): implemented resolvers for password reset

* refactor(snackbar): improved snackbar options and added default dismiss action

* feat(forgot password): implemented forgot password page

* feat(password reset): implemented password reset page

* fix(client): updated material ui import

* fix(server): removed old import

* chore(client): updated generated files

* fix(client): snackbar option types are now imported from library

* fix(client): fixed improts of new core location

* fix(client): updated pass reset on failure route

* chore(cleanup): post rebase cleanup

* chore(client): updated text field for reset request form

* fix(client): forgot password button now closes login modal properly

* Reset Password Fix (#353)

* feat(errors): added email error to common error list

* fix(server): return reset password mutation

* fix(internal error): implemented abstract class for password reset mutation response

* Dockerized Dev Environment (#361)

* fix(nvmrc): comment breaks nvm use so it is now removed

* chore(script): added dev-docker script for use with docker-compose

* feat(docker-compose): dockerized project dev environment

* fix(scripts): dev script now runs prisma-db-push to propagate changes made to prisma schema

* docs(update): fixed run command and added setup with docker-compose

* fix(docker-compose) Updated to enable colors

Added tty: true field to app service to enable colors for logging output

* Prisma Migrations CI (#363)

* feat(prisma): added init migration and migration scripts

* ci(server-workflow): added prisma migrate deploy command

* Fixes (#364)

* fix(dockerfile): updated watchman setup to enable relay --watch flag functionality

* fix(script): added --force-reset flag to docker dev command

* chore(packages): updated express types to address yarn install warning

* fix(scripts): updated prisma-db-push flag

Changed flag from --force-reset to --accept-data-loss (this ensures db isn't wiped every time `docker-compose up` is run but any data loss warnings are ignored while prototyping)

* Question position bigint update (#343)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* Revert "Question position bigint update (#343)" (#365)

This reverts commit 744f7d5.

* Question position bigint update (#366)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* Revert "Question position bigint update (#366)" (#367)

This reverts commit 41d2e62.

* Question position bigint update (#368)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* Revert "Question position bigint update (#368)" (#369)

This reverts commit 78ebc69.

* Question position bigint update (#370)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* Revert "Question position bigint update (#370)" (#371)

This reverts commit fe62fd8.

* fix(docker-compose): added rw flag to target volume to avoid .next files being set to root owner

* Pkg & Docker-Compose Updates (#373)

* chore(pkg): updated client browserlist

* fix(docker-compose): added user field and removed rw from target to fix file ownership issues

* chore(pkgs): updated prisma and playwright

* chore(docker-compose): added prisma-studio service

* Feedback Prompts (#362)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* Revert "Feedback Prompts (#362)" (#374)

This reverts commit 7c7c861.

* Feedback promps (#375)

* feat(prisma): added feedback prompts and responses tables to model

* feat(server): added feedback prompts and responses to schema and implemented resolvers

* feat(client-wip): implementing prompts and responses components

* feat(client): implemented feedback prompt response submission

* feat(gql): added feedback prompts connection

* chore(gql): updated comment

* feat(gql): added single event query

* feat(feedback-prompts): added share feedback results modal

* feat(feedback-prompts): added prompt responses modal and improved prompt cards

* chore(cleanup): removed unused files

* fix(connection): set pageinfo start+end cursor to empty string when list empty

* chore(cleanup): tidy up and added todos for wip code

* feat(gql): added new queries, fixed resolver sending unmodified id, added missing createdBy resolver

* feat(prompt-responses): improved ui for response cards and updated prompt type passed

* chore(prisma): added migration for db changes

* Implement client side message validation (#259)

* test(client-side message validation): :omit

not finished

:omit

* test: client-side message validation

checks for char length > 1000 and for external links

* test: clean up comments

* removed Error class

* moved isURL to src/utils/index.ts

* env var for QUESTIONS_MAX_LENGTH

* updated regex w/source link

* added same checks for feedbacks

* fix(max-len): updated to match db limitations

* fix(validation): moved validation to before commit to ensure invalid mutations are not sent

* feat(input-len): added current input length to question+feedback forms so users know the limit

Co-authored-by: kadey001 <kadey001@ucr.edu>

* workflow(e2e): updated to only run on pull request to prod branch

* config(commitlint): added more type enums

* Dashboard tweaks (#355)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* Revert "Dashboard tweaks (#355)" (#378)

This reverts commit 28b5239.

* Implement subscriptions for dashboard events. (#348)

* feat(fullstack): Implemented subscriptions for dashboard events.

* fix(e2e): Forgot to revert `workers` variable back from local setting

* fix(client): updated dashboard fragment to polling query

* chore(dashboard): cleanup and adjusted refresh intervals

Co-authored-by: kadey001 <kadey001@ucr.edu>

* Dashboard tweaks (#379)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* Revert "Dashboard tweaks (#379)" (#380)

This reverts commit 013e5d2.

* Dashboard tweaks (#381)

* chore(client): updatd date format to include time

* chore(client): added moderator badge to events

* fix(e2e): updated dashboard event locator to work with new date format

* chore(dashboard): refactored and updated styles to inline

* chore(e2e): removed test for deleted create event button on dashboard

* chore(rebase): merge conflicts addressed

* fix(dashboard): fixed event list updates bug

* fix(dashboard): added dependency array values

* Question position string update (#376)

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* Revert "Question position string update (#376)" (#383)

This reverts commit 4cb582b.

* Fixes for the frontend (#136)

* fix(frontend): fix alignment

* fix(frontend): login/registration links

* fix(frontend): hide/reveal links when logged in

* fix(frontend): form validation, imports, and types

* fix(frontend): form validation for orgs

* fix(frontend): key display

* fix(frontend): settings title

* fix(frontend): fix input type

* fix(frontend): email validation

* fix(frontend): update display for users yet to register

* fix(frontend): adjust display

* fix(client): fix broken client; probably a mistake in rebasing

* fix(event-settings): updated event form button text and fixed invite link section

* fix(snack): fixed snack ref and options

* fix(event-form): yup validation errors now show

* chore(cleanup): removed console log

* fix(forms): yup errors now display on submit and snack variants added

* fix(errors): fixed type errors

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: kadey001 <kadey001@ucr.edu>

* Workflow + Cleanup (#385)

* chore(cleanup): removed console logs

* ci(e2e): added e2e dev test file and comments for workflows purpose

* chore(cleanup): removed missed console log

* Merge Prod into Staging (#389)

* Deploy latest changes to production (#337)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* Revert "Deploy latest changes to production (#337)"

This reverts commit 178b043.

* Deploy latest version to production (#340)

* Deployment Workflow Update (#332)

* ci(workflow): moved ingress deployment to seprate workflows

* ci(deploy workflow): updated gcloud actions and removed ingress+cert from finalize steps

* ci(e2e workflow): now runs on changes to relevant paths and added allure generate step

* fix(e2e workflow): fixed trigger paths

* fix(server): added prisma seed path to jest ignore

* chore(dx): remove husky precommit; it's annoying

* Modify client arch to be more consistent with server & improve error handling on server (#328)

* feat(client): move src/features/core to src/core; more consistent with server arch

* feat(server): implement new ProtectedError class, integrate into accounts

* Client Fixes (#336)

* fix(client): re-added imgs removed by mistake

* fix(client): event form now displays correctly

* Dockerfile Optimizations + Workflow Trigger (#338)

* chore(dockerfiles): copy only nessisary files

* chore(client dockerfile): commens and cleanup

* fix(dockerfiles): typo

* ci(workflow): added relevant dockerfile as path trigger

* chore(graphql): removed deprecated queries and subscriptions

* ci(prod workflows): removed old unused if checks

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(merge): fixed merge mistakes

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>

* fix(e2e): updated e2e tests

* ci(kubernetes): updated session affinity to client ip

* Revert "Session Affinity Change"

* chore(k8): updated session affinity to ClientIP

* Bugfixes (#393)

* fix(enqueued button): added publish to question updated subscription on queue change

* fix(dequeue): error msg now displays correctly when trying to dequeue a previously asked question

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(e2e): removed only

* Sharp (#394)

* chore(next): added image cache ttl and priority tag

* fix(sharp): added sharp package and NEXT_SHARP_PATH

* fix(sharp): made sure env was defined before build

* Feedback prompts update (#382)

* fix(feedback-results): prompts list now query, suspense moved to fix flashing issue, dispose query

* fix(subscription): feedback promps now only pushed to logged in users

* chore(prompts-list): moved conditional render, removed console log, updated initial query load

* chore(responses): updated todos and set maximum on number of response cards visible

* feat(prompt-responses): added ability to share feedback vote responses

* refactor(vote chart): moved vote response chart to separate component

* fix(vote response chart): moved chart selection to different component to avoid re-rendering bug

* feat(vote-response-chart): added chart type selection

* feat(vote-response-chart): added stacked bar chart option

* fix(question-quote): added validation checks for question quotes

* fix(ask-question): added missing variant to snack

* feat(feedback-prompts): added validation for prompt form submission

* fix(prompts): added word wrapping for prompt typographys

* fix(validation): added more validation and form input length to form

* chore(snack): increased max snacks to 3

* chore(prompts): updated all prompt related modals to dialogs

* fix(dialog-title): typo

* chore(live-feedback-prompts): moved to its own feature folder

* chore(live-feedback-prompts): added index file

* fix(response-snack): should now close properly

* chore(prompt-list): added tabs for prompt list types and updated view button

* chore(event-sidebar): updated ui to more closely match figma designs

* Bugfixes (#396)

* fix(e2e): added timeout to page checks to fix firefox NS_BINDING_ABORTED error

* fix(url-test): updated regex to be a bit less strict

* fix(prompts): all prompts should wrap now + more padding

* Hotfix (#401)

* chore(e2e): updated number of retries to 1 when running tests locally

* chore(register): updated password helper text

* fix(user menu): added router reload after regiser and moved close to after reload

* Question position bigint update (#384)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* fix(bigint): added bigint scalar to codegen yml

* Revert "Question position bigint update (#384)"

This reverts commit 6264324.

* Question position bigint update (#404)

* chore(prisma): updated question position to bigint with migrations

* feat(graphql): added BigInt as scalar for question position

* fix(server tests): moved plugin attachments to before mercurius test client initilization

* fix(server): updated position check to cast to bigint

* chore(prisma): removed old migrations

* chore(prisma): added bigint migration

* fix(position): updated calculated position parse the whole current time ms string

* chore(logs): removed console logs

* chore(position): removed unessisary type cast

* fix(bigint): cast position vals to bigint and wrapped a resolver in trycatch to log internal errors

* fix(bigint): updated type parser and added more logging

* fix(bigint): added bigint scalar to codegen yml

* fix(codegen): updated scalar mapping

* fix(type parser): updated parsed value type to js int

* Revert "Question position bigint update (#404)"

This reverts commit ddb5dd0.

* feat(question-position): updated to string and use parseInt for comparisons

* chore(prisma): generated migration for db changes

* fix(position): added missing parseInts

* package(script): added more prisma scripts

* chore(prisma): added down migrations

* fix(question queue): updated increment and decrement queries to cast pos to bigint for order by

* Hotfix (#408)

* fix(registering): added validation check for exisiting accounts

* fix(errors): updated err msg for non protected errors

* chore(shadow accounts): tmp blocking shadow acccount creation

* chore(unit test): commented out shadow account registration test

* Admin dashboard Users/Events(#395)

* feat(gql+prisma): added admin check and query for all users

* feat(client): added admin dashboard routes, users current wip

* feat(admin-users-dashboard): using pagination fragment now instead of list query + filter search

* feat(admin-users-dashboard): upgraded to pagination table

* refactor(table-pagination): moved action function to separate file

* fix(users-table): updated filter field type and table now jus shows empty when no results found

* fix(users-table): updated refetch to refresh callback

* refactor(table-pagination-actions): moved to components

* fix(server-tests): added isAdmin field to user data for tests

* chore(prisma): added migration

* feat(admin): can now promote or demote organizers and added event dashboard

* CSV File invites (#414)

* chore(server+workflow): added origin env

* chore(server pkgs): added multer and papaparse

* chore(git): added csv files to gitignore

* feat(server): added csv invite endpoint and email batching

* feat(client): added csv invite option under event settings

* feat(invite validation): updated validate invite to auto log in user if valid

* Revert "CSV File invites (#414)" (#415)

This reverts commit e424284.

* Csv invites (#416)

* chore(server+workflow): added origin env

* chore(server pkgs): added multer and papaparse

* chore(git): added csv files to gitignore

* feat(server): added csv invite endpoint and email batching

* feat(client): added csv invite option under event settings

* feat(invite validation): updated validate invite to auto log in user if valid

* chore(k8s): added invite-csv route to ingress

* CSV Invites Fix + Improvment (#417)

* fix(csv invite): addressed find unique error, removed console log, users now added to invited table

* feat(invite validation): added event invited table check for validation

* fix(client): added reload after validation

* fix(workflow): added missing build arg and removed unused one

* Image Memory Leak Fix (#420)

* fix(img): replaced next image tags with html img tag

* fix(next): set images to unomtimized

* workflow(trigger): added missing server path trigger + k8 path

* workflow(branches): removed unused/invalid branch triggers

* Csv Invites Fixes (#422)

* chore(invites): updated email template and variables

* chore(invites): implemented client error handling for csv invites

---------

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>
Co-authored-by: michael07w <michaelwessels207@gmail.com>
Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: Minsoo Kim <minsooerickim@gmail.com>
Co-authored-by: J.S. Pescasio <jpesc002@ucr.edu>

---------

Co-authored-by: DevelopmentByDavid <developmentbydavid@gmail.com>
Co-authored-by: DevelopmentByDavid <44346401+DevelopmentByDavid@users.noreply.github.com>
Co-authored-by: michael07w <michaelwessels207@gmail.com>
Co-authored-by: Diane Shan <59817704+dianeshan@users.noreply.github.com>
Co-authored-by: Minsoo Kim <minsooerickim@gmail.com>
Co-authored-by: J.S. Pescasio <jpesc002@ucr.edu>
@kadey001 kadey001 removed this from the Testing Coverage milestone May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants