Skip to content

Conversation

IslandRhythms
Copy link
Contributor

image

@IslandRhythms IslandRhythms requested a review from vkarpov15 June 6, 2025 20:50
@vkarpov15 vkarpov15 requested a review from Copilot June 20, 2025 16:54
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces a new task visualizer feature as part of the "Island rhythms/task visualizer" initiative. The changes add a new dependency for tasks, implement a new tasks component (with filtering and summaries) in the frontend along with corresponding routes and navbar updates, and add backend API endpoints and task actions.

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package.json Adds the "@mongoosejs/task" dependency
frontend/src/tasks/tasks.js Implements the new tasks component with filtering logic
frontend/src/tasks/tasks.html Provides the HTML template for displaying and filtering tasks
frontend/src/routes.js Updates route definitions and adjusts authorization flags
frontend/src/navbar/navbar.js & navbar.html Updates navbar to include a link to tasks and implements feature detection
frontend/src/index.js Adds a global navigation guard that checks access based on roles
frontend/src/api.js Adds task API methods for both lambda and non-lambda configurations
backend/actions/* Adds new task actions including getTasks and related setup

Comment on lines +137 to +138
// Skip auth check for authorized (public) routes
if (to.meta.authorized) {
Copy link
Preview

Copilot AI Jun 20, 2025

Choose a reason for hiding this comment

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

The global navigation guard's logic appears inverted: routes marked as 'authorized' are immediately permitted without an access check, while those with 'authorized' set to false require role validation. Please verify that the flag's semantics and its usage in routes match the intended access control behavior.

Suggested change
// Skip auth check for authorized (public) routes
if (to.meta.authorized) {
// Skip auth check for public routes (not authorized)
if (!to.meta.authorized) {

Copilot uses AI. Check for mistakes.

@IslandRhythms
Copy link
Contributor Author

What I'd like to do next is make it so that clicking the categories sets the status filter and only returns those tasks. And clicking into the tasks via their status does the same.

I've added the task package back as a dev dependency

Still need to do some backend work for some of the new features but want to get your $0.02 first

image image image

@IslandRhythms
Copy link
Contributor Author

Also I had to resolve some merge conflicts so if you could double check I didn't break anything in the route handler that'd be great

end.setDate(end.getDate() - 1);
end.setHours(23, 59, 59, 999);
break;
case 'thisWeek':
Copy link
Member

Choose a reason for hiding this comment

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

Instead of making "this week" be everything since last sunday, let's make "this week" refer to the last 7 days, and "last week" refer to the 7 days before that

start.setHours(0, 0, 0, 0);
end = new Date();
end.setDate(end.getDate() - 1);
end.setHours(23, 59, 59, 999);
Copy link
Member

Choose a reason for hiding this comment

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

It's better to rely on $lt (vs $lte) so you can just do end = new Date();

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.

2 participants