docs(uploads): document lvt-upload-with opt-in field marking - #120
Merged
Conversation
Form fields now travel with a Proxied upload only when marked lvt-upload-with (client b88d492). Document the contract in the uploads reference, add the attribute to the client-attributes table, and mark the record id in the upload-modes example. The example edit is load-bearing, not polish: it relied on the old serialize-everything default to deliver record_id, so without the marker the proxied demo silently routes every upload to "unfiled" — verified by watching upload-modes_test.go fail that way before the marker was added back. Refs livetemplate/livetemplate#452 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ui2cwpeGkrUfRt8rh2FgGG
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs half of livetemplate/livetemplate#452. Pairs with livetemplate/client#150.
What changed
content/reference/uploads.md— new Sending form fields with an upload section covering the marking contract plus the three rules that sit on top of it: part ordering, name-scoped/form-scoped marking, and the file winning a name collision. Also documents the multi-file contract (fields ride along with every request).content/reference/client-attributes.md—lvt-upload-withadded to the Upload Attributes table.examples/upload-modes/upload-modes.tmpl— the proxied demo's record id is now marked.The example edit is load-bearing
Worth flagging because it looks cosmetic.
upload-modesrelied on the old serialize-everything default to deliverrecord_idtoOnUpload. Under opt-in, an unmarked field silently stops arriving — the demo still compiles, serves, and renders, it just routes every upload to the fallback record.Verified by removing the marker and watching the e2e fail exactly that way:
Marker restored, all 4
upload-modese2e tests pass (WS-up and WS-disabled paths) against a locally-built client#150 bundle.Merge order
Either order is safe. The marker is an inert unknown attribute to the currently-published client, which still delivers
record_idvia the old denylist — so this doesn't need the client release to land first. Note theupload-modese2e is env-gated (docs#67) and so doesn't run in CI either way.🤖 Generated with Claude Code
https://claude.ai/code/session_01Ui2cwpeGkrUfRt8rh2FgGG