Commit graph

64 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
d5d987a8f4
Email layout v2 (#1015)
* Better emails!

* Fix tests?

* bit o' cleanup

* add rant

* pt2

* pt3

* Update tests

* oop

* man what on earth

* ffs!!!!!

* Revert "ffs!!!!!"

This reverts commit b58bfed0f4c6288e95d0a111aeb3d7d7900ac9e7.

* Revert "man what on earth"

This reverts commit 8752cc2200eb3b852ea545d10ccbd555ab09d2b4.

* Revert "Fix tests?"

This reverts commit 810ebde73376ff7da0595e6b927f1b464d62b4a4.

* Ignore external Google Fonts link in premailer
2026-03-01 07:18:24 +00:00
Mahad Kalam
26663ddad5
Set up R2! (#1013)
* Set up R2!

* Update .env.example
2026-02-28 23:55:39 +00:00
Mahad Kalam
64849e2656 Fix migration! 2026-02-23 20:20:05 +00:00
Mahad Kalam
1b7e0462dc
Make large exports go to ActiveStorage (#990)
* Make em go to ActiveStorage

* Oops!
2026-02-21 11:53:18 +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
f16c991808
Remove unused public_activity + downsize activity graph Inertia payload (#946)
* Remove public_activity

* Continue removal

* Uh-oh, re-add pganalyze

* Fix Vite HMR not working
2026-02-15 09:54:29 +00:00
Mahad Kalam
ad95cf6c4f
Add PostHog (#906)
* Add PostHog

* Queue Posthog *after* adding to DB

* Update app/services/posthog_service.rb

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

* Add /api/v1/banned_users/counts

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-15 08:44:39 +00:00
Mahad Kalam
0f42cd4b90 Optimizations and code cleanup 2026-02-09 21:05:50 +00:00
Mahad Kalam
ef3f36c829
Inertia migration/UI3 (#911)
* Inertia p1?

* Inertia'fied signed out homepage?

* Split up signed in page

* WIP signed in v2?

* Better signed in?

* Clean up extensions page!

* Fix currently hacking

* Better docs page?

* Docs update 2

* Clean up "What is Hackatime?" + get rid of that godawful green dev mode

* Better nav?

* Cleaner settings?

* Fix commit times

* Fix flashes + OS improv

* Setup v2

* Readd some of the syncers?

* Remove stray emdash

* Clean up Step 3

* Oops, remove .vite

* bye bye, /inertia-example

* bin/rubocop -A

* Fix docs vuln
2026-02-09 11:26:30 +00:00
Mahad Kalam
0f4d4f82c3
faster local imports (#904) 2026-02-04 14:35:48 +00:00
Mahad Kalam
166d9d30a0
ahoy is walking the plank (#903)
* Remove Ahoy

* Simplify migration

* sync migrations

* Update db/migrate/20260204113033_drop_ahoy_tables.rb

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-04 13:13:48 +00:00
Mahad Kalam
7e54f109ba
Revert "Add PgHero (#894)" (#895) 2026-02-02 17:45:00 -05:00
Mahad Kalam
a2716fcdb0
Add PgHero (#894) 2026-02-02 21:17:26 +00:00
Echo
041f8ee3bb
feat: derive dummy users for testing (#880)
* install faker

* carry username over to display

* feat: derive dummies from you
2026-02-02 00:13:33 -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
dependabot[bot]
880e06bdea
Bump rails from 8.1.1 to 8.1.2 (#780)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Echo <github@3kh0.net>
2026-01-12 22:51:01 -05:00
dependabot[bot]
5f4cc09758
Bump pagy from 43.1.8 to 43.2.0 (#686)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 16:58:42 -05:00
Echo
64fc0f1f1b
better error handling (#677)
* swap honeybadger for sentry

* better error pages
2025-12-01 12:33:01 -05:00
dependabot[bot]
80f71a5a3d
Bump pagy from 43.0.6 to 43.1.0 (#643)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 16:24:09 -05:00
dependabot[bot]
5e5a8b97b6
Bump norairrecord from 0.4.1 to 0.5.1 (#639)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 14:07:39 -05:00
Echo
b13b5790ba
erb_linting (#637)
* setup lint

* lint pass

* gh ci/cd lint

* okay nvm our code is shit
2025-11-17 17:47:26 -05:00
Echo
6b21c0f402
upgrade pagy (#628) 2025-11-15 18:34:28 -05:00
dependabot[bot]
6a8e6aad32
Bump rails from 8.0.4 to 8.1.1 (#612)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 09:36:38 -05:00
Max Wofford
ae76f20946
Initial new activity log (#562) 2025-10-03 20:52:36 -04:00
Fox Ellson-Taylor
1e1c85c202
add cloudflare-rails and fix ip logging (#513) 2025-09-07 13:35:24 -04:00
dependabot[bot]
07ed54abfc
Bump norairrecord from 0.4.0 to 0.4.1 (#456)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 13:51:48 -04:00
Echo
c1337151ac
fix icons not being jazzy 2025-07-09 12:15:37 -04:00
Max Wofford
0136fad7bf Remove test gem install 2025-06-30 09:34:51 -04:00
Echo
0a8314fa78
test 2025-06-28 18:09:24 -04:00
Max Wofford
bce1b6078f
Add rack attack (#360) 2025-06-25 12:29:56 -04:00
Echo
c1366d00bf
star tailwind css migration 2025-06-18 19:16:37 -04:00
Max Wofford
f86955e0d3 Upgrade norairrecord 2025-06-13 16:03:59 -04:00
Max Wofford
f5d23e74dc Add flipper for feature flags 2025-06-11 02:31:41 -04:00
Max Wofford
af7c43a38f Setup autotuner for honeybadger 2025-06-08 19:31:09 -04:00
nora
9dfabf49f9
may i remind you, mr. wofford, you're under OAuth (#284) 2025-06-08 19:04:51 -04:00
Echo
ae9e643321
compress html on build 2025-06-05 01:47:45 -04:00
Zach Latta
4091ac637f Add /docs section 2025-05-28 17:15:22 -04:00
Max Wofford
0f8ad383c4 Remove avo 2025-05-15 09:48:32 -04:00
Max Wofford
c289d710f0 Add honeybadger to compare to sentry 2025-05-15 09:30:41 -04:00
Max Wofford
7cd9ea0b55 Add country code to users 2025-05-09 13:09:49 -04:00
Max Wofford
3355f5f29b Add syncing for airtable loops updating 2025-05-07 20:15:59 -04:00
Max Wofford
5ba0872d84
Add ahoy_captain (#211) 2025-05-07 12:06:56 -04:00
Max Wofford
de110b808c
Add ahoy (#204) 2025-05-05 09:38:39 -04:00
Max Wofford
fd5815e2a2
Add initial sweep of background caching for shared data on page (#157)
* Add initial sweep of background caching for shared data on page

* Rubocop format

* Speed up currently_hacking

* Rubocop format

* Fix active projects job

* Switch to activeprojectsjob for leaderboard

* Remove current project from nav

* Add flamegraph & stackprof for extra profiling

* Silence bullet alerts

* Remove eagerload of users from mini leaderboard

* Comment out expensive flavortext

* Bundle update brakeman

* Remove duplicate stackprof listing

* Add skylight auth to example env

* Add miscomitted background jobs
2025-04-07 23:32:27 -04:00
Max Wofford
59ce8128da Add bullet for catching n+1 2025-04-03 21:11:46 -04:00
Max Wofford
3f55de928f Run rack mini profiler in production 2025-04-03 20:57:48 -04:00
Max Wofford
177d2e3ad3 Update heartbeat UA processing job 2025-03-28 13:06:43 -04:00