Files
inventree-stock-tool/.claude/settings.local.json
T
grabowski bbc4b1e763 fix: Robust barcode scan handling for ANSI MH10.8.2 and InvenTree 1.x
- Capture scanner control keystrokes (Ctrl+]/^/\/_ → GS/RS/FS/US) in the
  scan input so ANSI MH10.8.2 field separators survive the HTML input
  filter, eliminating the Q-quantity-vs-next-DI ambiguity.
- Fall back to a DI-aware lazy regex when separators are stripped
  (e.g. pasted scans), so Q digits stop at the next data identifier
  instead of greedily eating into 11Z/12Z/etc.
- Make pending-part dicts JSON-serializable by isoformat-ing the
  timestamp; without this the worker's import_complete socket emit
  threw and the entry was never removed from the queue, causing
  every re-scan to 400 with "already queued" forever.
- Make /api/part/import idempotent: a re-scan of an already-queued
  part updates qty/location and returns 200 with already_queued=true
  instead of 400.
- Surface search/queue errors in the client log instead of silently
  swallowing them, and stop treating a 500 from /api/part/search as
  "not found" (which was causing re-queue loops).
- Log full tracebacks for /api/part/search failures and split the
  get_part_info / get_part_parameters error paths so failures can be
  attributed.
- Migrate get_part_parameters to the InvenTree 1.x endpoint
  /api/parameter/?model_type=part.part&model_id=<id>. The old
  /api/part/parameter/?part=<id> returns 404 on this instance, and
  even on the new endpoint the ?part= filter is silently ignored
  (would have returned every parameter in the database).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 14:25:35 +07:00

27 lines
700 B
JSON

{
"permissions": {
"allow": [
"Bash(python -m py_compile:*)",
"Bash(python:*)",
"Bash(git add:*)",
"Bash(uv:*)",
"Bash(tree:*)",
"WebFetch(domain:git.b4l.co.th)",
"mcp__svelte__get-documentation",
"mcp__svelte__svelte-autofixer",
"Read(//c/dev/inventree-stock-tool/web/**)",
"Bash(npm install *)",
"Bash(npx svelte-kit *)",
"Bash(npx svelte-check *)",
"Bash(npm run *)",
"Bash(npx tsx *)",
"Bash(git commit *)",
"Bash(git push *)",
"WebFetch(domain:inventree-b4l.newedge.house)",
"Bash(C:/dev/inventree-stock-tool/.venv/Scripts/python.exe *)"
],
"deny": [],
"ask": []
}
}