Free, open source, Wakatime-compatible coding time tracker
Find a file
Mahad Kalam a9f3b613cd
Fix crash when project name contains newline characters (#1096)
Project names with newlines (e.g. from misbehaving editor plugins) caused
ActionController::UrlGenerationError when loading /my/projects because Rails
route constraints reject newlines in URL parameters.

- Strip control characters from project names at heartbeat ingestion time
- Detect newlines in broken_project_name? to mark such projects as broken
- Skip URL generation for broken project names to prevent the crash

https://claude.ai/code/session_016CtSDw18BePckUBQ2teeuQ

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-20 20:21:12 +00:00
.claude Spring cleaning (#1074) 2026-03-15 15:26:32 +00:00
.github Linguist auto-updater! (god I hate GHA) (#1059) 2026-03-12 08:48:06 +00:00
.kamal Initial commit 2025-02-16 03:21:30 -05:00
app Fix crash when project name contains newline characters (#1096) 2026-03-20 20:21:12 +00:00
bin Data export fix + async exports + more tests (#989) 2026-02-21 11:28:21 +00:00
config Update Linguist languages.yml to latest upstream (#1078) 2026-03-19 11:21:52 +00:00
db Imports v2.5 (#1065) 2026-03-13 09:34:40 +00:00
docs Add documention for the Helix editor (#1085) 2026-03-19 11:19:52 +00:00
lib Add Sentry monitoring for previously unreported errors (#1066) 2026-03-13 11:06:12 +00:00
log Initial commit 2025-02-16 03:21:30 -05:00
public Add documention for the Helix editor (#1085) 2026-03-19 11:19:52 +00:00
script Initial commit 2025-02-16 03:21:30 -05:00
spec Spring cleaning (#1074) 2026-03-15 15:26:32 +00:00
storage Initial commit 2025-02-16 03:21:30 -05:00
swagger/v1 Spring cleaning (#1074) 2026-03-15 15:26:32 +00:00
test Mailer previews + partialify the weekly summary (#1076) 2026-03-15 20:35:48 +00:00
tmp Initial commit 2025-02-16 03:21:30 -05:00
vendor Upgrade Inertia + new settings page (#950) 2026-02-15 17:32:26 +00:00
.dockerignore llms.txt/llms-full.txt/.md docs routes, SSR (#977) 2026-02-18 08:34:06 +00:00
.env.example WakaTime/Hackatime v1 imports + Settings v2 (#1062) 2026-03-12 21:27:10 +00:00
.erb_lint.yml fix application/ld+json (#832) 2026-01-25 13:11:22 -05:00
.gitattributes Add heartbeat download (#457) 2025-08-07 15:36:36 -04:00
.gitignore llms.txt/llms-full.txt/.md docs routes, SSR (#977) 2026-02-18 08:34:06 +00:00
.prettierrc.json Use Inertia deferred props + Prettier/svelte-check (#957) 2026-02-16 10:29:04 +00:00
.rspec feat: added actual api docs (rswag) + ci enforcement (#846) 2026-01-27 01:05:49 -05:00
.rubocop.yml Email layout v2 (#1015) 2026-03-01 07:18:24 +00:00
.ruby-version update ruby to 3.4.8 (#805) 2026-01-19 02:24:20 -05:00
.tokeignore Bring back Mailkick (#1021) 2026-03-01 14:26:54 +00:00
AGENTS.md Data export fix + async exports + more tests (#989) 2026-02-21 11:28:21 +00:00
bun.lock Bundle and package updates (#1092) 2026-03-19 12:09:09 +00:00
CLAUDE.md Spring cleaning (#1074) 2026-03-15 15:26:32 +00:00
config.ru Load autotuner in config.ru 2025-06-08 19:31:09 -04:00
DEVELOPMENT.md WakaTime/Hackatime v1 imports + Settings v2 (#1062) 2026-03-12 21:27:10 +00:00
docker-compose.yml goaaaal! (#985) 2026-02-19 18:47:01 +00:00
Dockerfile Use Bun for deps (#980) 2026-02-18 09:11:15 +00:00
Dockerfile.dev Bring back Mailkick (#1021) 2026-03-01 14:26:54 +00:00
Dockerfile.production-worker Fix 10-minute asset delay 2026-02-15 10:33:05 +00:00
docs-index.png Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00
docs-vs-code.png Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00
entrypoint.dev.sh Fix notification job missing class name 2025-02-22 01:58:46 -05:00
Gemfile Bundle and package updates (#1092) 2026-03-19 12:09:09 +00:00
Gemfile.lock Bundle and package updates (#1092) 2026-03-19 12:09:09 +00:00
LICENSE Add LICENSE 2026-03-03 15:58:43 +00:00
package.json Bundle and package updates (#1092) 2026-03-19 12:09:09 +00:00
Procfile.dev llms.txt/llms-full.txt/.md docs routes, SSR (#977) 2026-02-18 08:34:06 +00:00
Rakefile Initial commit 2025-02-16 03:21:30 -05:00
README.md Add installer repo to README (#1036) 2026-03-04 12:45:57 +00:00
slack_manifest_harbor.yml Rename slack bot 2025-03-13 11:25:53 -04:00
slack_manifest_sailors_log.yml Add slack channel name to sailors log prefs 2025-03-11 22:05:10 -04:00
svelte.config.js Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00
tsconfig.json Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00
tsconfig.node.json Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00
tsconfig.svelte-check.json Use Inertia deferred props + Prettier/svelte-check (#957) 2026-02-16 10:29:04 +00:00
vite.config.ts Inertia migration/UI3 (#911) 2026-02-09 11:26:30 +00:00

Local development

Please read DEVELOPMENT.md for instructions on setting up and running the project locally.

Installer repo

Looking for the installer code? It's over at hackclub/hackatime-setup.