Adds employee-only internal notes to orders so staff can save follow-up context on the order record.
Ticket / Assignment
Ticket: Assignment 2 - Order internal notes
What changed
Added a persisted notes field to orders.
Added employee-only API support for saving notes with validation.
Added an Internal Notes section to the order detail page.
How to test
List exact commands and manual checks.
bun run test
bun run build:web
Manual checks:
Log in as an employee, edit and save an order note, then refresh and confirm it persists.
Confirm blank notes and notes over 1000 characters are rejected.
Screenshots or recordings
Risks / follow-ups
PR checklist
change is scoped to one ticket or one small reviewable concern
acceptance criteria were checked
code follows CONTRIBUTING.md
no unrelated refactor is mixed in
debug code and temporary logs are removed
relevant automated checks were run locally
changed behavior was manually tested when needed
known risks or follow-ups are called out
## Summary
Adds employee-only internal notes to orders so staff can save follow-up context on the order record.
## Ticket / Assignment
- Ticket: Assignment 2 - Order internal notes
## What changed
- Added a persisted `notes` field to orders.
- Added employee-only API support for saving notes with validation.
- Added an Internal Notes section to the order detail page.
## How to test
List exact commands and manual checks.
```bash
bun run test
bun run build:web
```
Manual checks:
- Log in as an employee, edit and save an order note, then refresh and confirm it persists.
- Confirm blank notes and notes over 1000 characters are rejected.
## Screenshots or recordings
<img width="960" alt="image.png" src="attachments/ab66fe68-9b0e-4636-96c8-0a9365d723c7">
## Risks / follow-ups
-
-
## PR checklist
- [x] change is scoped to one ticket or one small reviewable concern
- [x] acceptance criteria were checked
- [x] code follows `CONTRIBUTING.md`
- [x] no unrelated refactor is mixed in
- [x] debug code and temporary logs are removed
- [x] relevant automated checks were run locally
- [x] changed behavior was manually tested when needed
- [x] known risks or follow-ups are called out
This is fine for sharing a simple value across frontend and backend. I think a better way to make it more explicit is to encapsulate it by relation, so make it so that you can use it like: orderConstraints.notes.maxLength or similar, this way we can also easily add any other constraints when needed.
This is fine for sharing a simple value across frontend and backend. I think a better way to make it more explicit is to encapsulate it by relation, so make it so that you can use it like: `orderConstraints.notes.maxLength` or similar, this way we can also easily add any other constraints when needed.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Adds employee-only internal notes to orders so staff can save follow-up context on the order record.
Ticket / Assignment
What changed
notesfield to orders.How to test
List exact commands and manual checks.
Manual checks:
Screenshots or recordings
Risks / follow-ups
PR checklist
CONTRIBUTING.md@@ -4,2 +4,4 @@import type { OrderStatus } from "./order-status";// Shared so the API and the notes panel describe the same limit.export const orderNotesMaxLength = 1000;This is fine for sharing a simple value across frontend and backend. I think a better way to make it more explicit is to encapsulate it by relation, so make it so that you can use it like:
orderConstraints.notes.maxLengthor similar, this way we can also easily add any other constraints when needed.Everything looks fine, this should easily pass as a simple feature addition at most places. Good job.
@@ -0,0 +35,4 @@><label className="block text-sm text-slate-700"><span className="mb-1 block">Notes</span><textareaShould add a
maxLengthto the textarea for UXView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.