Skip to content

feat: enforce configurable max image size and improve column management flow - #1195

Merged
chavda-bhavik merged 2 commits into
nextfrom
fix/imports-access-and-image-size
Sep 1, 2026
Merged

chavda-bhavik merged 2 commits into
nextfrom
fix/imports-access-and-image-size

Conversation

@chavda-bhavik

Copy link
Copy Markdown
Member

Summary

  • Completes the per-column max image size feature from fix: team member Imports access denial + configurable per-column image size #1194: caps it at 20MB (was unbounded), enforces it during auto-import validation via HEAD-request size checks against uploaded image URLs, and tweaks widget copy to not hardcode "5 MB".
  • Improves the column add/edit/manage UI/UX in the Schema tab:
    • Extracts a reusable GatedField component, replacing ~8 copy-pasted plan-gating (lock/badge/upsell) blocks
    • Column Key now visibly auto-syncs from Name (until manually edited), with client-side duplicate-key validation instead of a generic API error
    • Confirms before a column type change would silently drop already-configured Range/Length/Digits validations
    • Unifies column creation into a single modal-based flow (previously two divergent code paths: a quick inline-submit and a "Validations" modal path that both ended up calling create, inconsistently)
    • Adds a drag-and-drop target highlight when reordering columns

Bugs fixed along the way

  • JSON bulk-editor error parsing (useColumnsEditor.tsx) mis-attributed/mis-trimmed validation errors for templates with 10+ columns (character-index parsing instead of proper index extraction), and a typo (Array.isArray[...] instead of Array.isArray(...)) caused a second error on the same column to silently overwrite the first instead of appending.
  • Bulk column update failures (useUpdateBulkColumns.ts) rendered a blank notification toast (notify(error.message + 'Hola') passed a raw string as the notification key, which doesn't exist, so nothing displayed) — now shows the actual error.

Test plan

  • apps/web type-checks cleanly (tsc --noEmit)
  • Manually verify: add/edit a column of each type, confirm duplicate-key validation, confirm type-change warning, confirm JSON bulk-editor surfaces per-column errors correctly with 10+ columns
  • Manually verify auto-import rejects images over the configured per-column max size

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

https://claude.ai/code/session_01Hqy3rtwmRHKRsqKY5ntuT9

…nt flow

Complete the per-column max image size feature (cap it at 20MB, enforce
it during auto-import validation via HEAD-request size checks, update
widget copy), and improve the column add/edit/manage flow:

- Extract a reusable GatedField component for plan-gated fields
- Auto-sync the Key field from Name with visible feedback, plus
  client-side duplicate-key validation
- Confirm before a column type change would drop existing validations
- Unify column creation into a single modal-based flow instead of two
  divergent code paths
- Fix JSON-editor error parsing (index/message extraction broke past
  10 columns; a typo caused later errors to overwrite earlier ones)
- Fix a bulk-update error notification that rendered blank
- Add a drag-and-drop target highlight to the columns table

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hqy3rtwmRHKRsqKY5ntuT9
@nx-cloud

nx-cloud Bot commented Sep 1, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 291421c

Command Status Duration Result
nx run-many --target=build --all ✅ Succeeded 1s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-09-01 06:16:20 UTC

@chavda-bhavik chavda-bhavik self-assigned this Sep 1, 2026
@chavda-bhavik
chavda-bhavik merged commit c1299aa into next Sep 1, 2026
3 checks passed
chavda-bhavik added a commit that referenced this pull request Sep 1, 2026
## Summary
- Follow-up to #1195: extracting the `GatedField` component dropped the
`colors` import in `ColumnForm.tsx` and left a stray light-gray
placeholder (`#f8f9fa`) as the "Column Validations" panel's background
instead of the app's dark `colors.BGSecondaryDark` (`#1D1E22`), which
clashed visibly with the rest of the (dark-themed) modal.
- Restores the correct background.

## Test plan
- [x] `apps/web` type-checks cleanly (`tsc --noEmit`)
- [ ] Open the column add/edit modal on quality and confirm the
right-hand "Column Validations" panel matches the app's dark theme

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

https://claude.ai/code/session_01Hqy3rtwmRHKRsqKY5ntuT9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant