You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add app limits feature with daily usage limits and notifications
- Implemented a new Limits page to set daily usage limits for applications.
- Added functionality to search and select running or recent applications.
- Users can add, remove, and toggle limits for applications.
- Integrated local storage to persist limits across sessions.
- Added translations for limits feature in English and Chinese.
- Updated settings to include options for excluding TimeLens applications.
- Enhanced settings page with new UI elements for managing executable options.
- Updated API services to handle recent and running executables.
- Improved overall user experience with new UI components and styles.
Co-authored-by: Copilot <copilot@github.com>
-**80 % warning** — dismissable floating banner toast when 80 % of daily limit is reached
45
+
-**90 % warning** — orange banner toast when 90 % of limit is reached
46
+
-**100 % alert** — blocking modal popup when daily limit is fully consumed
47
+
- Warning state stored in localStorage, reset daily (fires once per threshold per day)
48
+
49
+
#### Update Check
50
+
51
+
- On startup (4 s delay) TimeLens fetches the latest GitHub release
52
+
- If a newer version is found, an **Update Available** modal shows release notes and a direct GitHub link
53
+
- Users can dismiss or choose "Remind me later"
54
+
55
+
#### Internationalization
56
+
57
+
-**System language auto-detect** — on first launch, TimeLens automatically selects `zh-CN` if the OS locale is Chinese, otherwise defaults to `en`; preference is saved to localStorage
58
+
- Language switcher removed from the Sidebar; language is now changed only from Settings
59
+
- New **limits** i18n namespace (`en` / `zh-CN`) covering the App Limits page
60
+
-`common` namespace extended with update-check message keys
61
+
-`settings` namespace extended with week-start-day and exclude-TimeLens keys
62
+
63
+
### Fixed
64
+
65
+
-**Startup race condition** — `DbState` is now registered with Tauri's state manager *before* widget windows are restored, preventing early IPC calls from failing with a missing-state error
66
+
- Two Rust compile errors introduced by `exe_path` tracking: missing tuple element in `monitor/mod.rs` and missing `start_on_launch` field in `WidgetConfig` initializer
67
+
68
+
### Changed
69
+
70
+
-`exe_path` column added to `app_usage` table; existing databases are migrated automatically via `ALTER TABLE`
71
+
-`start_on_launch` column added to `widget_configs` table; existing databases are migrated automatically
72
+
- New `ignored_apps` table created on first run
73
+
- All stat queries now filter out rows whose `exe_path` is in the ignored-apps list
74
+
- Version bumped to **0.3.0** in `package.json`, `Cargo.toml`, and `tauri.conf.json`
75
+
76
+
---
77
+
78
+
## [0.1.0]
9
79
10
80
### Added
11
81
@@ -44,4 +114,19 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
44
114
- GitHub Actions CI (lint + typecheck + `cargo check`) on push/PR
45
115
- GitHub Actions release workflow: builds Windows `.msi`/`.exe` + macOS universal `.dmg` on `v*` tags
0 commit comments