Skip to content

feat: add a dynamic period to the high uncategorized time notification#745

Merged
ErikBjare merged 1 commit intoActivityWatch:masterfrom
Noorts:feature/add-dynamic-period-to-high-uncategorized-time-notification
Jan 31, 2026
Merged

feat: add a dynamic period to the high uncategorized time notification#745
ErikBjare merged 1 commit intoActivityWatch:masterfrom
Noorts:feature/add-dynamic-period-to-high-uncategorized-time-notification

Conversation

@Noorts
Copy link
Contributor

@Noorts Noorts commented Jan 31, 2026

Hey team! Thanks for the ActivityWatch system.

In the activity panel there is an uncategorized time notification, hinting us to use the Category Builder. I noticed that it didn't change when you swapped to the other views (weekly, monthly, 7 days, etc.). Thus, it will always state: "... of all time today".

Old (for weekly view):

image

New (for weekly view):

image

I've made the required changes. Let me know if you'd like it to be structured / implemented differently.


Important

Dynamic period text added to UncategorizedNotification.vue based on periodLength prop from Activity.vue.

  • Behavior:
    • Updates UncategorizedNotification.vue to dynamically display period text based on periodLength prop.
    • Modifies Activity.vue to pass periodLength to aw-uncategorized-notification component.
  • Props:
    • Adds periodLength prop to UncategorizedNotification.vue with default 'day'.
  • Computed Properties:
    • Adds periodText in UncategorizedNotification.vue to map periodLength to readable text.

This description was created by Ellipsis for 1e14657. You can customize this summary. It will automatically update as commits are pushed.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed everything up to 1e14657 in 7 seconds. Click for details.
  • Reviewed 57 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 0 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.

Workflow ID: wflow_0fKRn9u7kbLmWPXT

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 31, 2026

Greptile Overview

Greptile Summary

This PR makes the uncategorized time notification message dynamic by displaying the correct time period (e.g., "this week", "the last 7 days") based on the selected view, instead of always showing "today". The implementation adds a periodLength prop to the UncategorizedNotification component and maps it to user-friendly text via a computed property. All six valid period values (day, week, month, year, last7d, last30d) are properly handled with appropriate fallback to "today".

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are simple, well-implemented, and fix a legitimate UI bug. The implementation correctly handles all valid periodLength values with proper fallback behavior. No logic errors, security issues, or breaking changes detected.
  • No files require special attention

Important Files Changed

Filename Overview
src/components/UncategorizedNotification.vue Added periodLength prop and periodText computed property to dynamically display time period in notification message
src/views/activity/Activity.vue Passed periodLength prop to aw-uncategorized-notification component

Sequence Diagram

sequenceDiagram
    participant User
    participant Activity.vue
    participant UncategorizedNotification.vue
    participant ActivityStore
    
    User->>Activity.vue: Select period (day/week/month/etc)
    Activity.vue->>Activity.vue: Update periodLength prop
    Activity.vue->>UncategorizedNotification.vue: Pass periodLength prop
    UncategorizedNotification.vue->>UncategorizedNotification.vue: Compute periodText from periodLength
    UncategorizedNotification.vue->>ActivityStore: Get uncategorizedDuration
    ActivityStore-->>UncategorizedNotification.vue: Return [uncategorized, total]
    UncategorizedNotification.vue->>User: Display notification with dynamic period text
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@ErikBjare
Copy link
Member

Nice, thanks! :D

@ErikBjare ErikBjare merged commit 7d43d81 into ActivityWatch:master Jan 31, 2026
7 checks passed
@codecov
Copy link

codecov bot commented Jan 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.08%. Comparing base (435be30) to head (1e14657).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #745   +/-   ##
=======================================
  Coverage   26.08%   26.08%           
=======================================
  Files          29       29           
  Lines        1698     1698           
  Branches      294      294           
=======================================
  Hits          443      443           
  Misses       1233     1233           
  Partials       22       22           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Noorts Noorts deleted the feature/add-dynamic-period-to-high-uncategorized-time-notification branch February 7, 2026 12:56
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