Validate tenant integer limits as integers
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- postgresql, typescript
Research direction
Find the admin tenant API request schema for PATCH /tenants/:id and identify the schemas for tenant vector and Iceberg count limits and maxConnections. Check how those fields map to PostgreSQL integer columns, then update validation so those limits reject fractional values while supported file size and image resolution settings remain numeric. Done means fractional integer limits are rejected at the API boundary and valid fractional settings continue to pass.
Written by the indexing model from the issue text.
Description
Bug
The admin tenant API accepts fractional values for integer resource limits. For example, PATCH /tenants/:id accepts features.icebergCatalog.maxTables: 1.5 because the schema uses type: number; the multitenant database stores that field in an int column.
The same mismatch exists for the tenant vector and Iceberg count limits (and maxConnections). A malformed configuration can pass request validation and fail later when written to PostgreSQL.
Expected
Reject non-integer values at the admin API boundary for fields backed by integer columns, while continuing to allow fractional values for genuinely numeric settings such as file size or image resolution where supported.
- Dominant language
- TypeScript
- Stars
- 1.3k
- Forks
- 314
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 89
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from supabase/storage
-
S3 HEAD/GET overwrite case-insensitive user metadata collisionsPossibly taken @ferhatelmas claimed this 19 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
supabase/storage#1461 · 1 assignee ·
Maintainers usually reply within 1 day
-
The sample application in storage article points to wrong URLMay be free again @prasadf18 claimed this 199 days ago, and no pull request is open. Opendocumentation
Difficulty 1/5 Under an hour Newbie friendliness 62/100
supabase/storage#557 · 1 comment ·
Maintainers usually reply within 1 day
-
S3 HeadObject ignores conditional request headersPossibly taken @RaphaelFakhri claimed this 1 day ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
S3 PutObject ignores Content-MD5 integrity checksPossibly taken @ferhatelmas claimed this 6 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 70/100
supabase/storage#1561 · 1 assignee ·
Maintainers usually reply within 1 day
-
Iceberg tenant table listing ignores pageSize and pageTokenPossibly taken @ferhatelmas claimed this 6 days ago. Open
Difficulty 4/5 1-2 days Newbie friendliness 35/100
supabase/storage#1549 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in supabase/storage
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
VictoriaMetrics/victorialogs-datasource#747 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
Maintainers usually reply within 1 day
-
bug from-studio
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
esengine/DeepSeek-Reasonix#14608 ·
Maintainers usually reply within 1 day
-
triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
getarcaneapp/arcane#4590 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Clouditera/VulnHunter#57 ·