Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b7rnC7jppGGdHGESvy
53 lines
2.6 KiB
Plaintext
53 lines
2.6 KiB
Plaintext
== 1. load, then search without a page reload
|
|
htmx loaded: object 2.0.11
|
|
rows on first page: 5
|
|
after typing "kamat": ["Sneha Kamat"]
|
|
address bar: /contacts?q=kamat
|
|
elements with id contact-table: 1
|
|
document survived (no reload): same-document
|
|
|
|
== 2. pagination + back button
|
|
page 2 names: ["Farah Sheikh","Gauri Deshpande","Harsh Mehta","Isha Rao","Jayesh Pawar"]
|
|
address bar: /contacts?page=1
|
|
Back request: GET /contacts?q= HX-Request=true HX-History-Restore-Request=true
|
|
after Back: h1="Contacts", pager="Page 1 of 5 (23 contacts)"
|
|
|
|
== 3. inline edit with a validation error
|
|
row still editing, errors: ["Name is required","Email must look like name@host"]
|
|
saved, row is read-only again: ["Aarav K.","Bhavna Joshi","Chinmay Desai","Divya Nair","Eshaan Patil"]
|
|
|
|
== 4. delete with confirm
|
|
confirm dialog: "Delete Aarav K.?"
|
|
pager after delete: "Page 1 of 5 (22 contacts)"
|
|
requests caused by one delete: ["DELETE /contacts/1 HX-Request=true HX-History-Restore-Request=-","GET /contacts?page=0 HX-Request=true HX-History-Restore-Request=-"]
|
|
|
|
== 5. create form: 422 re-render, then success
|
|
errors shown in place: ["Name is required","Email must look like name@host"]
|
|
still on: /contacts/new, typed email kept: x
|
|
HX-Redirect landed on: /contacts
|
|
|
|
== 6. the two status-code traps, observed
|
|
DELETE answered 204: rows before=5, after=5 (row not removed)
|
|
htmx-config meta present: 0
|
|
Save answered 422 without the meta tag: errors visible = 0
|
|
|
|
== requests the browser made (excluding static files)
|
|
GET /contacts HX-Request=- HX-History-Restore-Request=-
|
|
GET /contacts?q=kamat HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts?q= HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts?page=1 HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts?q= HX-Request=true HX-History-Restore-Request=true
|
|
GET /contacts/1/edit HX-Request=true HX-History-Restore-Request=-
|
|
PUT /contacts/1 HX-Request=true HX-History-Restore-Request=-
|
|
PUT /contacts/1 HX-Request=true HX-History-Restore-Request=-
|
|
DELETE /contacts/1 HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts?page=0 HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts/new HX-Request=- HX-History-Restore-Request=-
|
|
POST /contacts HX-Request=true HX-History-Restore-Request=-
|
|
POST /contacts HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts HX-Request=- HX-History-Restore-Request=-
|
|
DELETE /contacts/2 HX-Request=true HX-History-Restore-Request=-
|
|
GET /contacts HX-Request=- HX-History-Restore-Request=-
|
|
GET /contacts/2/edit HX-Request=true HX-History-Restore-Request=-
|
|
PUT /contacts/2 HX-Request=true HX-History-Restore-Request=-
|