Commit Graph
95 Commits
Author SHA1 Message Date
ryan ed6bb95451 feat: update BASE_VERSION to 1.1.0 for upcoming release
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m10s
2026-09-03 16:10:43 -04:00
ryan 59adf22d42 feat: implement MongoDB test database reset for clean test sessions
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m22s
2026-07-31 17:47:06 -04:00
ryan d69d2226a3 feat: enhance test data cleanup by dropping MongoDB test database if applicable
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m22s
2026-07-31 16:23:15 -04:00
ryan 0b89833c32 feat: update environment variables to set DATA_ENV and DB_ENV to 'prod'
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m39s
2026-07-31 15:59:19 -04:00
ryan 95dee37b60 feat: update Gunicorn configuration to use gthread and remove wsgi.py
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m20s
2026-07-30 00:40:09 -04:00
ryan 7e4a08d415 feat: update Gunicorn command to use wsgi:app and add wsgi.py for application entry point
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m18s
2026-07-30 00:29:41 -04:00
ryan 0f903f57bb feat: add MONGO_URI to environment variable setup in build workflow
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m22s
2026-07-30 00:21:12 -04:00
ryan 7e71446cc7 feat: add MONGO_URI to environment variable setup in build workflow
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m17s
2026-07-29 17:52:47 -04:00
ryan f3e9201afd feat: update default persistence to MongoDB and enhance configuration options
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m19s
2026-07-29 16:45:10 -04:00
ryan da7ed41938 feat: migrate backend persistence from TinyDB to MongoDB Atlas
- Implement lazy MongoDB client initialization in backend/db/mongo_client.py.
- Create Gunicorn configuration to ensure MongoDB client is initialized per worker.
- Refactor database access layer to support MongoDB with a new MongoLockedTable adapter.
- Add migration script to transfer existing TinyDB data to MongoDB, preserving idempotency.
- Update tracking event handling to ensure deterministic ordering with a monotonic sequence.
- Modify tests to use mongomock for MongoDB integration and ensure existing tests pass.
- Add integration test script to run tests against a local MongoDB Docker container.
- Document environment variables and migration process in specs/feat-database-migration.md.
2026-07-28 01:10:52 -04:00
ryan c9c1fa18a2 feat: load environment variables from .env file and update .gitignore 2026-07-27 15:04:23 -04:00
ryan d4800be3b7 feat: enhance refresh token handling with grace period and rotation detection
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m17s
2026-07-26 18:35:56 -04:00
ryan f7b00fc7c4 fix: adjust timezone handling for chore expiry notifications and ensure deadlines account for next occurrences
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m45s
2026-07-17 19:47:43 -04:00
ryan d910a6bc65 feat(playwright-cli): add comprehensive test generation, tracing, and video recording documentation
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m29s
- Introduced detailed documentation for test generation workflow in Playwright CLI, covering planning, generating, and healing tests.
- Added tracing capabilities documentation, including usage, output files, and best practices for debugging and performance analysis.
- Included video recording instructions, emphasizing best practices for capturing browser automation sessions with chapter markers and overlays.
- Implemented user tutorial authentication setup and tutorial tests for parent mode in the E2E testing framework.
- Created JSON files for user tutorial state management, ensuring isolated test environments.
2026-07-17 19:38:02 -04:00
ryan d147bd6f27 feat(tutorial): implement comprehensive tutorial system with step guidance
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m9s
- Added tutorial controller to manage tutorial state and progress.
- Introduced HelpButton component for contextual help throughout the application.
- Created various tutorial steps for onboarding and feature guidance.
- Integrated tutorial prompts in multiple components (ChildrenListView, LoginButton, ScheduleModal, etc.) to enhance user experience.
- Implemented logic to show tutorials based on user actions and state.
- Added functionality to dismiss and skip tutorial sessions.
- Established a mechanism to hydrate tutorial state from user profile.
2026-05-26 16:54:45 -04:00
ryan ec4912aa4a feat: update version to 1.0.16 and modify user authentication cookies
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m24s
2026-05-25 13:08:13 -04:00
ryan 08dda6c6b0 feat: update version to 1.0.15 and add routines feature documentation
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m25s
- Updated BASE_VERSION in version.py to 1.0.15.
- Added ROUTINES-IMPLEMENTATION-SUMMARY.md detailing the implementation status, phases, and test coverage for the new routines feature.
- Created e2e-routines-test-plan.md outlining the end-to-end test strategy for the routines feature.
- Introduced plan-routinesFeature.prompt.md to summarize the design and implementation plan for the routines feature.
2026-05-20 16:48:41 -04:00
ryanandCopilot 5392e5af70 Add routine management features for child and parent views
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m8s
- Implemented routine child-mode flow tests to ensure proper functionality of routine assignment and task completion.
- Created notification tests for parent view to verify routine completion notifications for children.
- Developed ChildRoutineOverlay component for displaying routine tasks and handling user interactions.
- Added RoutineApproveDialog component for approving or rejecting completed routines.
- Created unit tests for ChildRoutineOverlay and RoutineEditView components to ensure correct behavior and rendering.
- Enhanced RoutineEditView with proper handling of task addition and form submission.

Co-authored-by: Copilot <copilot@github.com>
2026-05-17 23:47:12 -04:00
ryan eb775ba7d8 feat: Implement routines feature with CRUD operations and child assignment
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m0s
- Add backend routines management with add, get, update, delete, and list functionalities.
- Create models for Routine, RoutineItem, RoutineSchedule, and RoutineExtension.
- Develop event types for routine confirmation and modification.
- Implement frontend components for routine assignment, confirmation dialog, and routine management views.
- Add unit tests for routine API and integration tests for routine CRUD flow.
- Create end-to-end test plan for routines feature covering parent and child interactions.
2026-05-05 09:08:19 -04:00
ryan 082097b4f9 feat: update BASE_VERSION to 1.0.14-a for feature release
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m28s
2026-05-04 14:43:54 -04:00
ryan ce3d1b3d54 feat: add functions to validate today's timestamps and update pending status logic
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m52s
2026-05-03 11:53:21 -04:00
ryan 8308d205e8 feat: update reward version to 1.0.13 and modify dialog button labels for clarity
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m31s
2026-05-01 23:32:17 -04:00
ryan 28f5c43349 fix: improve date comparison for chore completion status
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m16s
2026-04-29 14:18:23 -04:00
ryan 6bf10fda2f feat: implement routines feature for child and parent modes
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m23s
- Added backend models for routines, routine items, and schedules.
- Created API endpoints for managing routines and their items.
- Implemented frontend components for routine creation, detail view, and assignment.
- Integrated routines into child view with a scrolling list and approval workflow.
- Added push notifications for routine confirmations and pending approvals.
- Refactored existing components to accommodate new routines functionality.
- Updated tests to cover new routines feature and ensure proper functionality.
2026-04-28 23:30:52 -04:00
ryan 8774e85529 feat: add workflow for promoting master to production with testing and deployment steps
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m19s
2026-04-26 19:08:08 -04:00
ryan 4093e79e50 Refactor code structure for improved readability and maintainability
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m42s
2026-04-25 19:02:20 -04:00
ryan 6d43fb23ad feat: enhance email templates for verification, password reset, and PIN setup
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m44s
2026-04-24 10:24:32 -04:00
ryan 6a29e263aa feat: enhance email templates for verification, password reset, and PIN setup
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 1m43s
2026-04-24 00:32:44 -04:00
ryan c9a4f92337 Refactor code structure for improved readability and maintainability
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m45s
2026-04-23 14:31:02 -04:00
ryan 8907184fde Add chore expiry notification system with scheduling and tests
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m59s
- Implemented `trigger_chore_expiry.py` script to manually trigger chore expiry notifications for users via the admin API.
- Developed `chore_expiry_notification_scheduler.py` to handle the logic for sending notifications for chores expiring within the next 75 minutes.
- Created utility functions in `schedule_utils.py` to determine scheduling and deadlines for chores.
- Added comprehensive tests for the chore expiry notification system in `test_chore_expiry_notification_scheduler.py`, covering various scenarios including scheduled chores, confirmations, and user settings.
2026-04-22 15:37:40 -04:00
ryan 6982fa561f feat: implement state expiry for chores and rewards, adding scheduler and event handling
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m40s
2026-04-21 23:21:53 -04:00
ryan bc481527c8 feat: enhance task and reward management by clearing pending confirmations on unassignment
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m29s
2026-04-21 16:52:06 -04:00
ryan 60dbb8a129 feat: add environment variable support for admin user creation in backend
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m38s
2026-04-21 16:07:07 -04:00
ryan 3d599243c7 feat: add environment variable support for admin user creation in backend
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m31s
2026-04-21 14:34:58 -04:00
ryan 8da61ce335 feat: add admin endpoint to send digest emails for users
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m12s
- Implemented a new endpoint `/admin/test/send-digest` in `admin_api.py` to trigger digest emails for specific users.
- Added a script `send_digest.py` to facilitate sending digest emails via the admin API.
- Enhanced the digest action handling in `digest_action_api.py` to support token peeking without consuming it.
- Updated the `send_digests` function in `digest_scheduler.py` to utilize the new `send_digest_for_user` function for sending emails.
- Introduced a new utility function `peek_token` in `digest_token.py` to validate tokens without consuming them.
- Modified the `ParentView.vue` component to handle digest actions upon receiving a digest token in the URL.
- Updated `.gitignore` to exclude sensitive certificate files.
2026-04-21 13:28:34 -04:00
ryan 3d2577e4ec Apply .gitignore and stop tracking ignored files
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 1m31s
2026-04-21 13:11:05 -04:00
ryan 2c7e9b8b5e feat: add admin endpoint to send digest emails for users
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 1m37s
- Implemented a new endpoint `/admin/test/send-digest` in `admin_api.py` to trigger digest emails for specific users.
- Added a script `send_digest.py` to facilitate sending digest emails via the admin API.
- Enhanced the digest action handling in `digest_action_api.py` to support token peeking without consuming it.
- Updated the `send_digests` function in `digest_scheduler.py` to utilize the new `send_digest_for_user` function for sending emails.
- Introduced a new utility function `peek_token` in `digest_token.py` to validate tokens without consuming them.
- Modified the `ParentView.vue` component to handle digest actions upon receiving a digest token in the URL.
- Updated `.gitignore` to exclude sensitive certificate files.
2026-04-21 13:08:03 -04:00
ryan 4ee5367742 Add end-to-end tests for parent notifications and actions
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m35s
- Implement tests for approving and denying rewards and chores, including token generation and validation.
- Create tests for error handling scenarios with expired, tampered, and fake tokens.
- Add tests for push subscription registration and user profile notification settings.
- Ensure that notifications reflect the correct state of rewards and chores in the UI.
- Validate that toggles for email digest and push notifications function correctly based on user permissions and server state.
2026-04-20 20:32:19 -04:00
ryan b529ddaa02 feat: add push notification settings to user profile and update related functionality
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m50s
2026-04-20 10:43:09 -04:00
ryan cf2ac4b5e8 feat: add user seeding script and update environment variables for testing
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 2m57s
2026-04-17 13:58:58 -04:00
ryan ad2bdf4c4f Add push notification functionality with tests and digest scheduler
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m14s
- Implemented push subscription API with tests for subscribing and unsubscribing users.
- Created web push notification tests triggered by child actions.
- Added digest scheduler to send email digests to users at 9 PM local time.
- Developed utility functions for creating and validating digest action tokens.
- Integrated web push sender to handle sending notifications to users.
- Added service worker for handling push notifications in the frontend.
- Created a push opt-in component for user notification preferences.
- Implemented tests for the push opt-in component to ensure correct behavior.
- Updated frontend services to manage push subscriptions and permissions.
2026-04-15 21:56:10 -04:00
ryan 759a1c745e Add initial test results file with failed status
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m56s
2026-04-12 12:32:16 -04:00
ryanandCopilot bb7c4c469c fix: return extension_date regardless of server UTC date
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 4m14s
list_child_tasks used date_type.today() (server UTC) to look up the
TaskExtension record. When the client's local date differed from the
server's UTC date (e.g. user is UTC-5 and it's past midnight UTC),
the lookup returned None and extension_date was incorrectly null.

Fix:
- Add get_extension_for_child_task() to db/task_extensions.py that
  queries by child_id + task_id only, without a date filter, and
  returns the entry with the latest date when multiple exist.
- Update list_child_tasks to use the new function. The comment already
  states 'client does all time math', so returning the stored
  extension_date is correct — the frontend compares it to local date.
- In extend_chore_time, delete any existing extension for the
  child+task before inserting the new one to prevent stale records
  from accumulating across days.
- Add regression test that inserts an extension for yesterday's date
  and asserts extension_date is non-null in the list-tasks response.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-12 01:59:51 +00:00
ryan 861b3dc9d4 Refactor code structure and remove redundant sections for improved readability and maintainability
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 1m48s
2026-04-10 17:44:37 -04:00
ryan 8080a59de1 fix: update BASE_VERSION to 1.0.7 for release
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 1m48s
2026-04-08 13:31:40 -04:00
ryan a4e23aad11 feat: implement cross-tab coordination for token refresh and enhance logout handling
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m57s
2026-03-27 23:02:29 -04:00
ryan 89097a390e fix: update BASE_VERSION to 1.0.6 for release
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m13s
2026-03-26 17:05:19 -04:00
ryan 16701278ed fix: update BASE_VERSION to 1.0.6RC03 for release
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 3m12s
2026-03-25 15:30:18 -04:00
ryan e9f4343426 added fixes for bug plan 1.0.6RC01
Chore App Build, Test, and Push Docker Images / build-and-push (push) Failing after 5m43s
2026-03-24 15:31:57 -04:00
ryan 81169da05e fix: update version number to 1.0.6RC01 and clarify verification code description
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 2m30s
2026-03-20 16:48:43 -04:00