# fix: everything AICodeKing reported \(\#320\) · gitcafe/t3code

[View on GitCafe](https://git.cafe/gitcafe/t3code/commit/0837c8b639f3fb54c155d824c308c6b03038fa9c)

Repository: [gitcafe/t3code](https://git.cafe/gitcafe/t3code)

Visibility: public

Requested revision: 0837c8b639f3fb54c155d824c308c6b03038fa9c

Requested commit: 0837c8b639f3fb54c155d824c308c6b03038fa9c

Commit: 0837c8b639f3fb54c155d824c308c6b03038fa9c

Tree: e5e43d3852090e20f9f6946ccf0e62a1efc4722d

Author: Theo Browne

Committer: GitHub

## Message

```
fix: everything AICodeKing reported (#320)

* Guard non-git projects and improve send and diff UX

- Skip checkpoint capture/revert and turn diff ingestion for non-git workspaces
- Normalize project workspace roots and return clearer request/error messages
- Show "No Git" state in chat/diff UI and enrich work log with commands/files
- Track send start time so working status shows elapsed duration consistently

* Format active working timer in concise h/m/s units

- add `formatWorkingTimer` for human-friendly durations in ChatView
- show active "Working for" time as `0s`, `1m 5s`, or `2h 3m` instead of ms

* more cleanup

* Fix active work timing and use temp git workspaces in tests

- derive active work start from unsettled turn state instead of always latest turn
- update chat view to use shared deriveActiveWorkStartedAt helper
- make server/ws tests create temporary workspace roots with .git for project creation
```

## Parents

- [5a90b6be9c902df934bada91b543865c197cfb2d](https://git.cafe/gitcafe/t3code/commit/5a90b6be9c902df934bada91b543865c197cfb2d?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/t3code/tree/0837c8b639f3fb54c155d824c308c6b03038fa9c?format=markdown)
