Commit graph

58 commits

Author SHA1 Message Date
Mahad Kalam
1f695850e5
Bring back Mailkick (#1021)
* Sources say Charlie Kick is stable. Please god

* Some tests + guards + unsub URL fix

* Fix lockfile!

* bin/rubocop -A

* if this does not work I am going to kms

* phew
2026-03-01 14:26:54 +00:00
Mahad Kalam
c846217ce6
Revert all commits after d5d987a8f4 (#1020)
Reverts the following commits:
- 2e3cfd60 Revert Mailkick
- de320443 Merge branch 'main'
- efd189a8 Add safety-hatch for summary emails
- d5c62922 Remove exploding queries (#1018)
- 2b37201d Bump actions/upload-artifact from 6 to 7 (#1007)
- a4c10b47 Expand scopes to all time for summaries/goals (#1017)
- 4dec2f44 Unsubscribe links + slow job monitoring (#1016)
2026-03-01 13:09:10 +00:00
Mahad Kalam
4dec2f44a4
Unsubscribe links + slow job monitoring (#1016)
* Notable + unsubscribe links

* Add the migrations/initializers!

* oops

* Fix a bug

* Address Copilot warn

* Fixes

* stop swallowing errors!!!!

* Flipper flag WeeklySummaryEmailJob

* Split WeeklySummaryEmailJob into new email
2026-03-01 12:11:38 +00:00
Mahad Kalam
d3af585822
Several tests and fixes. (#987)
* Several tests and fixes.

* Harden safe_return_url to reject URLs containing colons

Adds an extra guard in safe_return_url to reject paths containing ':'
characters, preventing edge-case scheme-like redirects (e.g.
/javascript:...). Addresses CodeQL URL redirection warning.

* Oops!
2026-02-20 15:30:48 +00:00
Mahad Kalam
c588258aba
Unify OAuth2 and unauthenticated projects routes (#948) 2026-02-15 13:59:44 +00:00
Mahad Kalam
0d089a01e9
Re-add test param (#921)
* Re-add test_param

* Revert "`types_from_initializers` + `js_from_routes` + performance fixes (#918)"

This reverts commit 384a618c15.

* bin/rubocop -A
2026-02-10 23:14:49 +00:00
Mahad Kalam
6cbc1577ae uh. oh 2026-02-09 21:40:10 +00:00
Mahad Kalam
0f42cd4b90 Optimizations and code cleanup 2026-02-09 21:05:50 +00:00
Mahad Kalam
2e0f128946
Add /api/v1/banned_users/counts (#907) 2026-02-05 18:23:21 +00:00
Echo
797af036e9
feat: move streaks inside data block (#892)
* move streaks inside data

* docs docs docs
2026-02-02 12:24:01 -05:00
Echo
8edd8404d2
feat: add streaks to user stats endpoint (#891)
* add api to streaks

* swaggerize
2026-02-02 12:18:25 -05:00
Echo
c1e9eec98f
fix user allow_public_stats_lookup bypass (#862) 2026-01-27 01:10:02 -05:00
Tom (Deployor)
8d0215ff0f
feat: added actual api docs (rswag) + ci enforcement (#846)
* feat: add API documentation and CI checks

- Add Rswag for automated API documentation generation
- Add Swagger specs for all endpoints
- Add CI step to enforce that swagger.yaml stays in sync with code
- Add static test keys in seeds.rb for easier testing
- Update AGENTS.md and README.md to support this

* Merge branch 'main' of https://github.com/deployor/hackatime

* Merge branch 'main' into main

* Deprecations! Yay! :)

* It was wan addicent i swear linter! Dont hurt me

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Copilot..... we love you! Also this project is open and so are api docs meant to be if another AI reads ts!

* Merge branch 'main' of https://github.com/deployor/hackatime

* Merge branch 'main' into main

* Merge branch 'main' into main

* Update app/controllers/api/admin/v1/admin_controller.rb

If you say so

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update spec/requests/api/v1/my_spec.rb

I guessss?

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Failed my own CI wow.... EMBARRASSINGGGG

* Merge branch 'main' into main

* Merge branch 'main' into main

* clarify wording on internal/revoke

* Merge branch 'main' into main

* update swagger docs
2026-01-27 01:05:49 -05:00
Echo
ee5653b8b6
optimize trust level api (#807) 2026-01-19 12:07:05 -05:00
Echo
7ebb1b2085
archive projects (#770) 2026-01-06 09:28:39 -05:00
MathiasDPX
313f9115fb
fix: allow_public_stats_lookup was ignored (#545) 2025-11-04 14:49:07 -05:00
techpixel
f09c6a397e i think this is right? idk 2025-08-11 16:17:57 -04:00
Kartikey Chauhan
03347ecd09 feat: add TestWakatimeService 2025-07-23 19:18:44 +05:30
Kartikey Chauhan
5bd2c84c3b feat: use TestWakatimeService 2025-07-23 18:48:23 +05:30
Echo
eb60d1d82c
Revert "fix: use WakatimeService without filters and consistent time ranges f…" 2025-07-22 20:55:26 -04:00
Echo
6d859374ff
Merge pull request #430 from cskartikey/lag_fix
fix: use WakatimeService without filters and consistent time ranges f…
2025-07-22 18:39:20 -04:00
Kartikey Chauhan
f67675533c fix: use WakatimeService without filters and consistent time ranges for accurate tracking 2025-07-23 03:49:23 +05:30
Echo
f5b6f66c11
Merge pull request #425 from cskartikey/lag_fix
fix: LAG() returns jankie time
2025-07-21 18:28:25 -04:00
Kartikey Chauhan
b2f6d0bf4a fix: LAG() returns jankie time 2025-07-22 03:56:40 +05:30
Echo
810bf1de9a
fix range issues 2025-07-21 17:17:34 -04:00
Echo
5cac80567b
filtering by project dedupe 2025-07-21 12:19:56 -04:00
Kartikey Chauhan
ae7d87e348 feat: support multiple projects in projects taram w/ exact dateime 2025-07-15 11:59:31 +05:30
Echo
dfb6a17116
non zero performance gains 2025-07-14 12:43:55 -04:00
Echo
cff721a0ee
specify only total seconds output 2025-07-14 12:08:27 -04:00
Echo
a331f37c80
better lookup method on apis 2025-07-14 11:19:00 -04:00
Echo
3742942f0e
goated projects api 2025-07-14 11:07:21 -04:00
Echo
0adaf86d9b
Merge pull request #406 from hackclub:detact
fix api 500s
2025-07-07 16:09:04 -04:00
Echo
319924d145
fix api 500s 2025-07-07 16:07:51 -04:00
Max Wofford
6490c15260
Fix miscommitted lines (#405) 2025-07-07 16:03:10 -04:00
Max Wofford
3a2053f738
Add passed scoping to WakatimeService (#404) 2025-07-07 15:53:51 -04:00
Echo
ddad067e66
dedicated projects api 2025-07-07 15:45:51 -04:00
Echo
2bdcf4c97f
more lose user matching 2025-07-07 15:44:42 -04:00
Echo
cd2611ef59
rewrite suspected as unscored in the api 2025-06-20 12:07:59 -04:00
Echo
bbba985e8f
report trust factor on api endpoints 2025-06-20 10:55:13 -04:00
Echo
2831a5670e
prevent som 500s 2025-06-16 14:34:16 -04:00
Echo
130f4062fd
return error as json 2025-05-31 22:49:15 -04:00
Echo
3ac7d9e2b0
allow users to hide stats from public lookup 2025-05-31 22:46:40 -04:00
Max Wofford
9b6ee8902b Accept datetime on stats endpoint 2025-05-19 17:15:14 -04:00
Max Wofford
6f583c991e Attempt to fix incorrect username in stats controller 2025-05-01 00:29:40 -04:00
Max Wofford
ec3a8a0c52 Fix typo 2025-04-30 14:15:23 -04:00
Ethan Canterbury
668425ba77
Add endpoint to fetch all projects and time spent (#182)
Co-authored-by: Max Wofford <max@maxwofford.com>
2025-04-30 13:50:53 -04:00
Max Wofford
9049bdc446
Add initial span generation logic (#179) 2025-04-26 16:08:13 -04:00
Max Wofford
7487b45dff Move user not found guard up earlier on stats endpoint 2025-04-02 02:37:40 -04:00
Max Wofford
be5ed005c5 Add filters for start and end time 2025-03-24 12:27:20 -04:00
Max Wofford
88be11d0dc Add new features to wakatime service to support RPG 2025-03-24 11:50:14 -04:00