Skip to content

781 new member onboarding spring 2025 course discussion board#1061

Open
marla-tumenjargal wants to merge 5 commits intomainfrom
781-new-member-onboarding-spring-2025-course-discussion-board
Open

781 new member onboarding spring 2025 course discussion board#1061
marla-tumenjargal wants to merge 5 commits intomainfrom
781-new-member-onboarding-spring-2025-course-discussion-board

Conversation

@marla-tumenjargal
Copy link

No description provided.

@marla-tumenjargal marla-tumenjargal linked an issue Feb 7, 2026 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Linting Failed

Note: The status check will always pass. Run npm run lint -- --continue to see the full output locally.

Click to expand lint output

> lint
> turbo run lint --continue --output-logs=errors-only


Attention:
Turborepo now collects completely anonymous telemetry regarding usage.
This information is used to shape the Turborepo roadmap and prioritize features.
You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
https://turborepo.com/docs/telemetry

• Packages in scope: @repo/common, @repo/eslint-config, @repo/gql-typedefs, @repo/shared, @repo/sis-api, @repo/storybook, @repo/theme, @repo/typescript-config, ag-frontend, api-sandbox, backend, datapuller, frontend, staff-frontend
• Running lint in 14 packages
• Remote caching disabled
�[;31mbackend:lint�[;0m
cache miss, executing 9782412b4b5ee478

> lint
> eslint src/


/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/controller.ts
  8:18  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/formatter.ts
   1:10  error  'Types' is defined but never used         @typescript-eslint/no-unused-vars
   3:40  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  11:42  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/resolver.ts
   7:10  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  22:10  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  24:16  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

✖ 7 problems (7 errors, 0 warnings)

npm error Lifecycle script `lint` failed with error:
npm error code 1
npm error path /home/runner/work/berkeleytime/berkeleytime/apps/backend
npm error workspace backend
npm error location /home/runner/work/berkeleytime/berkeleytime/apps/backend
npm error command failed
npm error command sh -c eslint src/
[WARN] command finished with error, but continuing...
�[;31mfrontend:lint�[;0m
cache miss, executing 008ab2c0156d05ef

> lint
> eslint src/


/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/BubbleCard/index.tsx
  106:10  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Capacity/index.tsx
  9:14  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Chart/ChartContext.tsx
  7:17  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Chart/index.tsx
   5:10  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
   8:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
   9:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
  10:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
  11:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/CommentItem.tsx
  1:8  error  Unused classes found in comments.module.scss: commentsContainer, commentInput, textarea, submitButton, commentsList, commentsHeader, loadingText, emptyText  css-modules/no-unused-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/CommentList.tsx
  4:8  error  Unused classes found in comments.module.scss: commentsContainer, commentInput, textarea, submitButton, commentsHeader, commentCard, commentText, commentMeta, loadingText  css-modules/no-unused-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/index.tsx
   84:13  error  'data' is assigned a value but never used               @typescript-eslint/no-unused-vars
  105:28  error  Class or exported property 'commentsWrapper' not found  css-modules/no-undef-class
  110:36  error  Class or exported property 'errorMessage' not found     css-modules/no-undef-class
  157:49  error  Class or exported property 'metaItem' not found         css-modules/no-undef-class
  164:53  error  Class or exported property 'metaDivider' not found      css-modules/no-undef-class
  166:51  error  Class or exported property 'metaItem' not found         css-modules/no-undef-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/ScheduleSummary/index.tsx
  11:14  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

✖ 17 problems (8 errors, 9 warnings)

npm error Lifecycle script `lint` failed with error:
npm error code 1
npm error path /home/runner/work/berkeleytime/berkeleytime/apps/frontend
npm error workspace frontend
npm error location /home/runner/work/berkeleytime/berkeleytime/apps/frontend
npm error command failed
npm error command sh -c eslint src/
[WARN] command finished with error, but continuing...
::error::backend#lint: command (/home/runner/work/berkeleytime/berkeleytime/apps/backend) /opt/hostedtoolcache/node/22.12.0/x64/bin/npm run lint exited (1)
::error::frontend#lint: command (/home/runner/work/berkeleytime/berkeleytime/apps/frontend) /opt/hostedtoolcache/node/22.12.0/x64/bin/npm run lint exited (1)

 Tasks:    5 successful, 7 total
Cached:    0 cached, 7 total
  Time:    10.342s 
Failed:    backend#lint, frontend#lint

 ERROR  run failed: command  exited (1)

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b4698963e1

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +4 to +6
export default {
typeDef: discussionTypeDefs,
resolver,

Choose a reason for hiding this comment

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

P1 Badge Register discussion module with GraphQL modules list

This module is defined but never added to the backend module registry (apps/backend/src/modules/index.ts), so its typeDef/resolver are never merged into the GraphQL schema. Any client querying courseComments/addCourseComment will get schema errors like “Cannot query field” because the schema doesn’t include this module. Please add the discussion module to the modules array so the new discussion API is actually exposed.

Useful? React with 👍 / 👎.

Comment on lines +35 to +41
const response = await fetch(
`/api/comments?subject=${encodeURIComponent(classData.subject)}&course_number=${encodeURIComponent(classData.courseNumber)}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
},

Choose a reason for hiding this comment

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

P1 Badge Avoid calling an unimplemented /api/comments endpoint

The UI is wired to GET /api/comments and POST /api/comments, but the backend only adds a GraphQL discussion module and there is no REST route or API handler for /api/comments in this repo. As a result, these fetches will 404 and the discussion tab will always show errors/empty state in production unless a matching REST endpoint is added or the client is switched to the GraphQL API.

Useful? React with 👍 / 👎.

@github-actions
Copy link

github-actions bot commented Feb 7, 2026

Linting Failed

Note: The status check will always pass. Run npm run lint -- --continue to see the full output locally.

Click to expand lint output

> lint
> turbo run lint --continue --output-logs=errors-only


Attention:
Turborepo now collects completely anonymous telemetry regarding usage.
This information is used to shape the Turborepo roadmap and prioritize features.
You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
https://turborepo.com/docs/telemetry

• Packages in scope: @repo/common, @repo/eslint-config, @repo/gql-typedefs, @repo/shared, @repo/sis-api, @repo/storybook, @repo/theme, @repo/typescript-config, ag-frontend, api-sandbox, backend, datapuller, frontend, staff-frontend
• Running lint in 14 packages
• Remote caching disabled
�[;31mbackend:lint�[;0m
cache miss, executing 9782412b4b5ee478

> lint
> eslint src/


/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/controller.ts
  8:18  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/formatter.ts
   1:10  error  'Types' is defined but never used         @typescript-eslint/no-unused-vars
   3:40  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  11:42  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

/home/runner/work/berkeleytime/berkeleytime/apps/backend/src/modules/discussion/resolver.ts
   7:10  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  22:10  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any
  24:16  error  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

✖ 7 problems (7 errors, 0 warnings)

npm error Lifecycle script `lint` failed with error:
npm error code 1
npm error path /home/runner/work/berkeleytime/berkeleytime/apps/backend
npm error workspace backend
npm error location /home/runner/work/berkeleytime/berkeleytime/apps/backend
npm error command failed
npm error command sh -c eslint src/
[WARN] command finished with error, but continuing...
�[;31mfrontend:lint�[;0m
cache miss, executing 54bd491f21b88713

> lint
> eslint src/


/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/BubbleCard/index.tsx
  106:10  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Capacity/index.tsx
  9:14  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Chart/ChartContext.tsx
  7:17  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Chart/index.tsx
   5:10  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
   8:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
   9:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
  10:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components
  11:3   warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/CommentItem.tsx
  1:8  error  Unused classes found in comments.module.scss: commentsContainer, commentInput, textarea, submitButton, commentsList, commentsHeader, loadingText, emptyText  css-modules/no-unused-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/CommentList.tsx
  4:8  error  Unused classes found in comments.module.scss: commentsContainer, commentInput, textarea, submitButton, commentsHeader, commentCard, commentText, commentMeta, loadingText  css-modules/no-unused-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/Class/Comments/index.tsx
   84:13  error  'data' is assigned a value but never used               @typescript-eslint/no-unused-vars
  105:28  error  Class or exported property 'commentsWrapper' not found  css-modules/no-undef-class
  110:36  error  Class or exported property 'errorMessage' not found     css-modules/no-undef-class
  157:49  error  Class or exported property 'metaItem' not found         css-modules/no-undef-class
  164:53  error  Class or exported property 'metaDivider' not found      css-modules/no-undef-class
  166:51  error  Class or exported property 'metaItem' not found         css-modules/no-undef-class

/home/runner/work/berkeleytime/berkeleytime/apps/frontend/src/components/ScheduleSummary/index.tsx
  11:14  warning  Fast refresh only works when a file only exports components. Use a new file to share constants or functions between components  react-refresh/only-export-components

✖ 17 problems (8 errors, 9 warnings)

npm error Lifecycle script `lint` failed with error:
npm error code 1
npm error path /home/runner/work/berkeleytime/berkeleytime/apps/frontend
npm error workspace frontend
npm error location /home/runner/work/berkeleytime/berkeleytime/apps/frontend
npm error command failed
npm error command sh -c eslint src/
[WARN] command finished with error, but continuing...
::error::backend#lint: command (/home/runner/work/berkeleytime/berkeleytime/apps/backend) /opt/hostedtoolcache/node/22.12.0/x64/bin/npm run lint exited (1)
::error::frontend#lint: command (/home/runner/work/berkeleytime/berkeleytime/apps/frontend) /opt/hostedtoolcache/node/22.12.0/x64/bin/npm run lint exited (1)

 Tasks:    5 successful, 7 total
Cached:    0 cached, 7 total
  Time:    11.283s 
Failed:    backend#lint, frontend#lint

 ERROR  run failed: command  exited (1)

Copy link
Contributor

@ARtheboss ARtheboss left a comment

Choose a reason for hiding this comment

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

Make sure you test your changes before you submit them.

setIsLoading(true);
setError(null);

// Call your backend GET endpoint
Copy link
Contributor

Choose a reason for hiding this comment

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

We should remove these

Comment on lines +68 to +77
const response = await fetch("/api/comments", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
subject: classData.subject,
course_number: classData.courseNumber,
text: newComment.trim(),
}),
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not correct, it is using a REST API instead of GraphQL. Have you tested this?

Make sure you use useQuery from Apollo Client

Comment on lines +35 to +43
const response = await fetch(
`/api/comments?subject=${encodeURIComponent(classData.subject)}&course_number=${encodeURIComponent(classData.courseNumber)}`,
{
method: "GET",
headers: {
"Content-Type": "application/json",
},
}
);
Copy link
Contributor

Choose a reason for hiding this comment

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

Also not correct. We use Apollo Client hooks

Comment on lines +4 to +21
type Comment {
id: ID!
courseId: String!
userId: String!
content: String!
createdAt: String!
}

type Query {
courseComments(courseId: String!, userId: String): [Comment!]!
}

type Mutation {
addCourseComment(
courseId: String!
content: String!
): Comment!
}
Copy link
Contributor

Choose a reason for hiding this comment

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

There's nothing I see here that deals with the caching problem I was talking about

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New Member Onboarding Spring 2025: Course Discussion Board

2 participants