* 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
* 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
* Fix data export + Capybara
* Continue?
* A ton of system tests :D + test cleanup
* More system tests
* Add placeholder keys for tests?
* Get rid of the double-query!
* Speed up CI Chrome setup by avoiding snap installs
* Pin CI Chrome version to reduce system test flakiness
* Stabilize integrations settings system test interaction
* feat(oauth): add rotate_secret action for oauth applications
Add POST routes and controller actions for both owner-facing and admin
OAuth application secret rotation using Doorkeeper's renew_secret.
* feat(oauth): add rotate secret button and flash display to views
Add Rotate Secret button with confirmation dialog to both owner and
admin show pages. Display rotated secret via flash with copy button.
* fix(oauth): restrict admin secret rotation to superadmins only
Add explicit superadmin authorization check in rotate_secret action.
The route constraint already limits access, but this adds defense in
depth at the controller level to prevent privilege escalation.
* fix(oauth): address PR review feedback for secret rotation
- Remove duplicate stale lines in admin controller
- Fix indentation in admin controller, both show views
- Add superadmin guard to admin rotate_secret action
- Use I18n for flash messages in doorkeeper controller
- Add respond_to HTML/JSON branches matching existing patterns
- Fix double space in before_action array
* let's clean up a bit?
* pt 2.
* Make it actually work :P
---------
Co-authored-by: Mahad Kalam <mahadkalam1234@gmail.com>
Co-authored-by: Mahad Kalam <55807755+skyfallwastaken@users.noreply.github.com>
* 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
* Add banned_users endpoint to AdminController and update routes
* Merge branch 'main' into addingGetBanAdminAPI_Endpoint
* move function out of private
* docs
* re swaggerize
* 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