Commit Graph

198 Commits

Author SHA1 Message Date
Swifty
cb1e36d916 Update frontend build (#5396)
Co-authored-by: GitHub Action <action@github.com>
2023-09-29 14:03:31 +02:00
SwiftyOS
e71943f83b change the index url for the tutorials 2023-09-29 13:50:18 +02:00
SwiftyOS
2640fc85cf Frontend - Added link to tutorials 2023-09-29 13:36:58 +02:00
Swifty
91435136d5 Update frontend build (#5393)
Co-authored-by: GitHub Action <action@github.com>
2023-09-29 10:37:00 +02:00
hunteraraujo
cbdb6ac0bf Add _throwawayFocusNode to allow continuous mode to work after dialog 2023-09-29 00:22:00 -07:00
hunteraraujo
d91236deda Fix bug where benchmarks are not showing chat convo 2023-09-28 23:59:14 -07:00
hunteraraujo
8c58df706a Show helpful toast if someone hits a 404 2023-09-28 23:43:02 -07:00
hunteraraujo
88a4d1a0dd Update _leaderboardBaseUrl to point at prod leaderboard 2023-09-28 22:37:40 -07:00
hunteraraujo
1f367618ed Remove hard coded benchmark category 2023-09-28 19:40:23 -07:00
merwanehamadi
0e804e27dd Add more data challenges (#5390)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-28 19:30:08 -07:00
hunteraraujo
ab2a49c8d2 Show loading state when running benchmark or waiting for agent response 2023-09-28 13:09:26 -07:00
hunteraraujo
f3210fba96 Add _isWaitingForAgentResponse Property to ChatViewModel
A new property named _isWaitingForAgentResponse has been introduced to the ChatViewModel class to track the loading state when waiting for the agent's response. This boolean property is set to true when a chat message is being sent and reverts to false upon completion, whether successful or not. The notifyListeners() method is invoked to update the UI accordingly. This enhancement facilitates the display of a loading indicator, offering users visual feedback during the wait time for agent responses.
2023-09-28 13:09:05 -07:00
hunteraraujo
a438619177 Add LoadingIndicator for Async Operations
Implemented a new LoadingIndicator widget that displays a pulsating gradient line, giving users visual feedback during asynchronous operations such as API calls. The indicator animates a gradient from white to AppColors.primaryLight and back to the grey background color, signifying the loading state.
2023-09-28 12:54:13 -07:00
hunteraraujo
61653d122f Update _leaderboardBaseUrl to point at dev leaderboard 2023-09-28 12:12:42 -07:00
Swifty
ca65dfc4fa Update frontend build (#5376)
Co-authored-by: GitHub Action <action@github.com>
2023-09-28 11:00:26 +02:00
hunteraraujo
41f0b472c0 Remove dark mode toggle until implementation is completed 2023-09-28 00:00:07 -07:00
hunteraraujo
ee55b85945 Fix bug where we are not passing benchmark input 2023-09-27 23:43:44 -07:00
hunteraraujo
a555e936c4 Increase task steps page size 2023-09-27 23:30:55 -07:00
hunteraraujo
d2f64a1163 Fix bug where AgentMessageTile are being reused inappropriately 2023-09-27 23:01:06 -07:00
hunteraraujo
b04f4e0f55 Added Artifact Handling for Chat Messages
- Enhanced the `Chat` model to include an `artifacts` field to hold associated artifacts.
- Updated the `AgentMessageTile` widget to display the number of artifacts and added functionality to trigger artifact downloads upon button press.
- Introduced a method in `ChatViewModel` to leverage the `ChatService` for artifact downloads.
2023-09-27 22:37:06 -07:00
hunteraraujo
c814fc4edd Remove debug banner 2023-09-27 21:36:49 -07:00
hunteraraujo
3329e6bc4a Fix bug when tasks are appearing in reverse chronological order 2023-09-27 21:00:34 -07:00
hunteraraujo
c739e049c3 Fixed bug where task list did not update when creating new task 2023-09-27 20:27:21 -07:00
merwanehamadi
37fbb52d19 Add more challenges + cleanup (#5368)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-27 17:58:58 -07:00
hunteraraujo
39e4b7e03f Fix bug where failed benchmark is not being added to test suite 2023-09-27 17:26:19 -07:00
hunteraraujo
0847505add Dismiss leaderboard submission pop up after submitting 2023-09-27 15:46:54 -07:00
hunteraraujo
122c996714 Add helpful print statements and fix isURL validation 2023-09-27 15:46:05 -07:00
hunteraraujo
105b80101e Update Leaderboard Submission Dialog to Pass Parameters to ViewModel
This commit updates the Leaderboard Submission Dialog to pass the team name, repository URL, and commit SHA as parameters to the submitToLeaderboard function in the SkillTreeViewModel. These changes ensure that the dialog and the ViewModel are aligned in terms of parameter requirements, facilitating efficient and accurate leaderboard submissions.
2023-09-27 15:33:11 -07:00
hunteraraujo
ec03170e6e Refactor benchmark data models with placeholder values 2023-09-27 15:16:34 -07:00
hunteraraujo
e4d84dad0a Enhance SkillTreeViewModel with Benchmark Runs Tracking and Leaderboard Submission
This commit incorporates significant enhancements to the SkillTreeViewModel, introducing the ability to track current benchmark runs and submit results to the leaderboard. A new list, `currentBenchmarkRuns`, is introduced to store each benchmark run object during a specific benchmark session. This list is reset to an empty state when initiating a new benchmark.

Changes made:
- Introduced `currentBenchmarkRuns` to track ongoing benchmark runs, ensuring real-time data availability.
- Enhanced `runBenchmark` method to populate `currentBenchmarkRuns` with benchmark run objects as the benchmark progresses.
- Implemented `submitToLeaderboard` method, accepting parameters `teamName`, `repoUrl`, and `agentGitCommitSha`, and updating each run object with this information. All runs share a common UUID generated at the beginning of the submission process.

These enhancements ensure that benchmark run data is readily available and organized, facilitating a streamlined process for submitting well-structured data to the leaderboard. It fosters a more interactive and informative user experience, offering insights into each benchmark run's progress and outcomes.
2023-09-27 15:14:48 -07:00
hunteraraujo
9c1b55b9fb Integrate UriUtility in LeaderboardSubmissionDialog for URL Validation
This commit integrates the newly created UriUtility class into the LeaderboardSubmissionDialog. The isURL method from UriUtility is used to add an additional layer of validation for the GitHub repository URL input field. It ensures that users enter a valid URL format before submitting their leaderboard entries.

Changes made:
- Integrated UriUtility’s isURL method in the _validateAndSubmit function of the LeaderboardSubmissionDialog.
- Added a specific error message "Invalid URL format" to inform users when the entered URL does not meet the validation criteria.
- Updated the state management to reflect the URL validation status and re-render the dialog with appropriate error messages when necessary.

With this integration, the application now provides real-time feedback on the validity of the entered URL, enhancing user experience and data integrity by ensuring that only valid URLs are submitted to the leaderboard.
2023-09-27 15:11:27 -07:00
hunteraraujo
52c0929e3b Add UriUtility Class for URL Validation
This commit introduces the UriUtility class to the codebase. This utility class contains a static method, isURL, used for validating URLs. The method checks for common URL validation criteria, ensuring that the input string adheres to the standard URL format. It verifies that the URL is non-empty, does not contain invalid characters, is not a mailto link, can be parsed as a URI, and has both a scheme and a host. Additional validations include checks on user info and port numbers.

Changes made:
- Created UriUtility class with isURL static method for URL validation.
- Included validations for empty strings, invalid characters, mailto links, scheme, host, user info, and port numbers.
- The utility will be utilized in forms and other areas where URL validation is necessary.

This enhancement improves the robustness of URL validation across the application, ensuring that only valid URLs are processed and stored.
2023-09-27 15:10:14 -07:00
merwanehamadi
793ff1c163 Add data challenges (#5361)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-27 10:47:34 -07:00
hunteraraujo
c94835432e Update LeaderboardService to use PUT instead of POST 2023-09-27 00:12:45 -07:00
hunteraraujo
5f4454737d Added PUT method support to RestApiUtility
Enhanced the RestApiUtility class to support HTTP PUT requests. The new method, `put`, allows for updating data at a specified endpoint. This addition provides more comprehensive CRUD operations for the API interactions, ensuring the client can perform updates when necessary.
2023-09-27 00:12:17 -07:00
hunteraraujo
dc4ca47bc7 Implement full pagination support for task fetching
Refactored the TaskService and TaskViewModel classes to fully support paginated fetching of tasks. The solution fetches tasks page by page until all tasks have been retrieved, accommodating the API's pagination mechanism. Renamed `listAllTasks` to `fetchTasksPage` to better reflect its purpose and introduced a new method, `fetchAllTasks`, to handle the paginated fetching logic.
2023-09-27 00:11:24 -07:00
hunteraraujo
5df70eabd8 Adjust spacing + sizes of social icons 2023-09-26 20:18:29 -07:00
hunteraraujo
2d64647543 Update SideBarView with socials 2023-09-26 19:58:30 -07:00
hunteraraujo
193278fb53 Add image assets 2023-09-26 19:48:21 -07:00
hunteraraujo
654f3dff06 Add URL launcher dependency 2023-09-26 19:26:47 -07:00
hunteraraujo
1b9ec31d84 Add tooltip for LeaderboardSubmissionButton 2023-09-26 16:34:15 -07:00
hunteraraujo
efe1b3e0eb Update TaskQueueView with TestSuiteButton and LeaderboardSubmissionButton
Integrated both the TestSuiteButton and LeaderboardSubmissionButton in the TaskQueueView. Added conditions to disable the LeaderboardSubmissionButton based on benchmark running status and if the benchmarkStatusMap is empty. The onPressed logic for both buttons has been integrated as per requirements.
2023-09-26 16:28:52 -07:00
hunteraraujo
d056793309 Add placeholder submitToLeaderboard 2023-09-26 16:13:38 -07:00
hunteraraujo
79f96c8f91 Introduce LeaderboardSubmissionButton widget
Added a new LeaderboardSubmissionButton widget to facilitate user submissions to the leaderboard. The button is styled consistently with other application buttons and features an emoji trophy icon to indicate leaderboard submissions. It provides a mechanism for disabling submissions based on certain conditions.
2023-09-26 16:03:27 -07:00
hunteraraujo
2605cd04d4 Add TestSuiteButton
Introduced a new reusable TestSuiteButton widget. It provides flexibility for positioning and is intended for initiating the test suite in the TaskQueueView.
2023-09-26 15:59:56 -07:00
hunteraraujo
6365071bb4 Add LeaderboardSubmissionDialog with SharedPreferences support
Introduce the LeaderboardSubmissionDialog widget which allows users to submit their team name, GitHub repo URL, and commit SHA for leaderboard consideration.

Features:
- Field validation: Ensure that all required fields are filled before submission.
- SharedPreferences integration: Save the user's last submission values and auto-populate the fields with these values when the dialog is shown next time.

This enhancement provides a smoother user experience by reducing repetitive data entry for subsequent leaderboard submissions.
2023-09-26 15:41:51 -07:00
hunteraraujo
389131f2ab Add ContinuousModeDialog and integrate with ChatInputField
- Introduced a new dialog, ContinuousModeDialog, to inform users about the repercussions of the continuous mode.
- Integrated ContinuousModeDialog with ChatInputField. The dialog is shown when the fast-forward icon is clicked, based on the user's shared preferences.
- Leveraged shared preferences to remember if the user has chosen not to see the dialog again.
- Enhanced the ChatInputField to handle different states and user interactions related to continuous mode.
2023-09-26 14:25:20 -07:00
Swifty
77d0516674 Update frontend build (#5341)
Co-authored-by: GitHub Action <action@github.com>
2023-09-26 12:41:10 +02:00
hunteraraujo
3d4307a848 Added SkillTreeType enum and implemented dropdown selection in SkillTreeView
- Introduced a new `SkillTreeType` enum to represent different skill tree categories: General, Coding, Data, and Scrape/Synthesize.
- Extended the `SkillTreeType` enum to provide associated string values and JSON file names for each category.
- Refactored the `SkillTreeViewModel` to reload the skill tree data based on the selected category.
- Enhanced `SkillTreeView` by adding a positioned dropdown in the top-left corner to allow users to select and load different skill tree categories dynamically.
2023-09-25 23:08:24 -07:00
hunteraraujo
4a8da53d85 Add centralized color constants for light and dark modes
Introduced a `AppColors` class to house all color constants provided by the design team. This class segregates colors into light and dark modes, ensuring easy and consistent theming throughout the application. The centralized approach simplifies updates and ensures color consistency across the app.
2023-09-25 20:06:17 -07:00