-
Notifications
You must be signed in to change notification settings - Fork 8
Full Featured LMS 2.0 #14
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
base: main
Are you sure you want to change the base?
Conversation
…en view with backend endpoints
There was a problem hiding this 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.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex summarize this whole PR |
Full Featured LMS 2.0 — Summary🎯 High-Level Goals
🛠️ Core Features & Implementations
🔍 Reviewer Feedback Highlights
✅ Overall ImpactA comprehensive overhaul that modernizes the LMS front-to-back, adds granular auditing, improves assistant workflows, and readies the platform for richer, real-time interactions. |
- Updated ConfigurationController to handle new scheduling fields and logic for automatic TP activation based on schedule. - Modified Configuration model to include scheduling properties and added method to refresh TP activation based on schedule. - Added migration to introduce new scheduling fields in the configurations table. - Updated frontend components to manage scheduling settings for Tugas Pendahuluan. - Adjusted validation rules in JawabanTAController and JawabanTKController to allow for flexible answer submissions. - Created tests for configuration scheduling behavior and multiple submissions for TA and TK answers. - Removed unnecessary middleware from routes and cleaned up code formatting in various files.
|
@codex review |
There was a problem hiding this 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.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 174 out of 569 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 177 out of 594 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@codex review /resources part |
There was a problem hiding this 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.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review /app |
There was a problem hiding this 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.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…e to imagekit endpoints, and fix change password modal
- Added laminas/laminas-diactoros v3.8.0 for PSR HTTP Message implementations. - Added laravel/octane v2.13.1 to enhance Laravel application's performance. - Added predis/predis v3.2.0 for Redis client support. - Added symfony/psr-http-message-bridge v7.3.0 for PSR HTTP message bridging. refactor: Improve AssistantNav and PraktikanNav components - Wrapped navigation items in a scrollable container in AssistantNav. - Introduced path normalization in PraktikanNav for better URL handling. style: Adjust styles in ScoreDisplayModal for better UI - Updated background gradients and border styles for improved visual consistency. fix: Refactor FeedbackPhase component for better structure and performance - Enhanced dropdown functionality for selecting assistants. - Improved feedback input handling and validation messages. chore: Minor adjustments in Jurnal component for file upload handling - Moved file input to a more appropriate location in the Jurnal component. test: Add cache validation test in ConfigurationScheduleTest - Implemented a test to ensure schedule state is cached after API request.
…ient opacity in ScoreDisplayModal
|
Summary Changes Here is the following tech stack update in this pull request:
New frontend packages:
Extra Notes:
|
…on errors in AuditLogsTable, and change background color in light mode in PraktikanNav
|
@codex review resources/ and app/ folders |
There was a problem hiding this 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.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } catch (\Exception $e) { | ||
| return response()->json([ | ||
| 'success' => false, | ||
| 'message' => 'Failed to retrieve Asisten.', | ||
| 'error' => $e->getMessage(), | ||
| ], 500); | ||
| return redirect()->back()->with('error', 'Failed to retrieve Asisten.'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Return JSON error from Asisten index instead of redirect
The index action now catches exceptions by returning redirect()->back() with a flash message. Because this controller lives under the API namespace, callers expect a JSON error response but will instead receive a 302/HTML page, which breaks existing consumers and hides the underlying failure message. Restore the previous JSON error handling so the endpoint behaves consistently for API clients.
Useful? React with 👍 / 👎.
| const abort = useCallback(() => { | ||
| if (uploadRef.current) { | ||
| uploadRef.current.abort(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wire abort controller in ImageKit upload hook
The hook exposes an abort() method that calls uploadRef.current.abort(), but upload() never assigns uploadRef.current to an AbortController or Axios cancel token. As a result the ref stays null and calling abort() during an in‑flight upload does nothing, leaving the request running and the UI stuck in an uploading state. Attach the controller to the ref when starting an upload so requests can actually be canceled.
Useful? React with 👍 / 👎.
| private function getRedisKeys(string $pattern): array | ||
| { | ||
| if ($this->cacheStore !== 'redis') { | ||
| return []; | ||
| } | ||
|
|
||
| try { | ||
| $redis = Redis::connection('cache'); | ||
| $keys = $redis->keys($pattern); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid blocking Redis with KEYS in autosave snapshot queries
getRedisKeys() fetches snapshot entries using Redis::connection('cache')->keys($pattern). The KEYS command performs a full scan of the keyspace and blocks the Redis server while it runs; when many autosave entries exist this call will stall other requests and can degrade the whole application. Use a cursor (SCAN) or a prefixed set to enumerate keys without blocking.
Useful? React with 👍 / 👎.
I have no words because a picture is worth 1000 words, but a lot of pictures...