Commit Graph

236 Commits

Author SHA1 Message Date
Ferdinand Mütsch ec65847d0c fix: make stats endpoint default to user-chosen time range (resolve #508)
chore: include more properties in status model for better compatibility
2023-07-28 12:08:47 +02:00
Edward 7b0bbcefe6
fix(import): data dump already exists
handle the import when there is already an active data dump exists.

Resolves #502
2023-07-13 23:54:48 +08:00
Ferdinand Mütsch 3063e80692 refactor: use wakatime dump api for data imports (resolve #323) 2023-07-09 18:03:41 +02:00
Ferdinand Mütsch 38286c7f3a fix: correctly parse os and editor for chrome plugin
fix: handle last project special keyword
2023-07-09 10:28:23 +02:00
Ferdinand Mütsch 5278dba4f4 feat: add per weekday stats to report (resolve #493) 2023-07-08 19:54:15 +02:00
Ferdinand Mütsch 083fbf8633 fix: view details of unknown projects on dashboard 2023-04-03 20:30:23 +02:00
Steven Tang 406f5147c8
feat: -version flag 2023-04-03 22:46:31 +10:00
Ferdinand Mütsch 4ee3da6f7e feat: implement file statistics (resolve #80) 2023-03-22 20:45:27 +01:00
Ferdinand Mütsch c9f2518fbc fix: badges broken (resolve #475) 2023-03-15 21:47:12 +01:00
Ferdinand Mütsch fde45a5138 fix: include missing mail headers (resolve #472) 2023-03-06 20:31:31 +01:00
Ferdinand Mütsch f67115a788 fix: disallow blank space usernames 2023-02-19 19:41:20 +01:00
Ferdinand Mütsch 3512db5ca4 fix: track subscription renewal date 2023-02-19 19:37:03 +01:00
Ferdinand Mütsch 8ccfcef8e3 chore: show warning message when data about to expire 2023-01-18 01:27:07 +01:00
Ferdinand Mütsch 97a10cc08a chore: add tests for heartbeat hashing 2023-01-15 20:41:09 +01:00
Ferdinand Mütsch 746608c062 refactor: flash messages framework (resolve #446) 2023-01-02 18:05:28 +01:00
Ferdinand Mütsch a1444bca8c chore: validate email addresses with dns 2023-01-02 15:31:28 +01:00
Ferdinand Mütsch 8e521741f8 refactor(subscriptions): store stripe customer id with user 2022-12-30 13:14:24 +01:00
Ferdinand Mütsch 3aac5e9062 fix: tests 2022-12-29 17:26:15 +01:00
Ferdinand Mütsch 50c54685ec feat: subscription expiry notification mails 2022-12-29 17:12:34 +01:00
Ferdinand Mütsch dc0bcbe65d chore: cap data import according to max data retention time 2022-12-29 12:33:21 +01:00
Ferdinand Mütsch bafbc34706 refactor: minor code refactorings 2022-12-29 11:55:09 +01:00
Ferdinand Mütsch 8a94fef06b feat: implement computation of users first heartbeats data time 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch ebcf87ea93 feat(wip): polish settings ui for subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 0e83ab02fa feat(wip): implement stripe webhooks 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 05ea05cdf4 feat(wip): implement stripe webhooks 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch f39ecc46bd feat(wip): stripe integration for subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch 333c1b5dd0 feat(subscriptions): introduce config options and user attribute to support subscriptions 2022-12-29 11:17:24 +01:00
Ferdinand Mütsch cd5c511474 fix: enable experimental column altering for cockroachdb (see #442) 2022-12-16 12:33:01 +01:00
Ferdinand Mütsch 9f38246fe2
Merge pull request #425 from Daste745/persistent-summary-interval
Persistent summary time interval
2022-12-05 19:27:07 +01:00
Ferdinand Mütsch 21f6809f05 refactor: split utility functions into utils and helpers 2022-12-01 10:57:07 +01:00
Ferdinand Mütsch 61f13fce20 fix: prometheus metrics types 2022-11-20 10:59:06 +01:00
Ferdinand Mütsch 2976203ecc fix: missing icons 2022-11-13 20:11:53 +01:00
Ferdinand Mütsch e75bd94531 fix: include cumulative total key in wakatime summary compat endpoint (resolve #426) 2022-11-13 19:52:53 +01:00
Ferdinand Mütsch 4cc8c21f67 fix: importing data from wakapi instance (resolve #428) 2022-11-13 19:27:44 +01:00
Ferdinand Mütsch f182b804bb chore: add additional language icons
fix: support ipynb, cjs, tsx file endings
2022-11-11 16:13:41 +01:00
Daste e89ce076fd Read the persisted summary interval from a cookie
This cookie will be read only if the `interval` or `from` query params
are not set. If the cookie is also unset, it will still default to
the "today" interval.

TODO: The cookie still needs to be set on the client
with a `Set-Cookie` response header.
2022-11-05 19:30:42 +01:00
Ferdinand Mütsch 9424c49760 fix: composite index on heartbeats table 2022-10-28 09:54:11 +02:00
Ferdinand Mütsch efd6ba36e3 fix: errors during leaderboard generation 2022-10-20 08:33:12 +02:00
Ferdinand Mütsch b1d7f87095 chore: add maximum default leaderboard length 2022-10-19 18:28:30 +02:00
Ferdinand Mütsch 41f6db8f34 feat(wip): leaderboard pagination (resolve #417) [ci-skip] 2022-10-16 19:38:43 +02:00
Ferdinand Mütsch 8a21be4306 fix: ignore rank column in migrations 2022-10-16 18:59:00 +02:00
Ferdinand Mütsch bc99dc990a fix: case sensitivity with leaderboard languages (resolve #418) 2022-10-07 08:58:51 +02:00
Ferdinand Mütsch ef87445e43 chore: display leaderboard update time 2022-10-06 15:30:32 +02:00
Ferdinand Mütsch 1989a69926 feat: show users top languages
feat: language icons
2022-10-05 23:36:57 +02:00
Ferdinand Mütsch 7a07c9d4fc feat: top languages by user 2022-10-05 21:52:10 +02:00
Ferdinand Mütsch a27fe04919 feat: leaderboard aggregation functionality
feat: leaderboard ui design
2022-10-03 23:53:47 +02:00
Ferdinand Mütsch 1d7ff4bc2a refactor: use query param for leaderboard controls 2022-10-03 20:38:19 +02:00
Ferdinand Mütsch b3fa032bde feat(wip): leaderboard ui 2022-10-03 10:53:27 +02:00
Ferdinand Mütsch 4a22a19cb0 chore: generate leaderboard when enabled in user settings 2022-10-02 10:13:39 +02:00
Ferdinand Mütsch 13a3d9f03a feat: leaderboard generation and querying 2022-10-02 00:01:39 +02:00