When updating a table with many columns, a request is fired per column,
causing potential rate-limiting.
The biggest contributor is a bug in the `comment` config of each column.
If columns have no comment, we coerce the comment to an empty string,
but our column payload diff function sees this as a difference, thus
tries to set a new comment on every column. Unfortunately this is not a
one-time issue, because Postgres considers an empty comment to be null,
and corces it back to null, and on and on we go in a giant circle.
The fix is just to not coerce to empty strings on our end.
There are a few other requests that we might be able to shave, but this
is by far the noisiest one.
* fix: field reference button padding
* fix: remove overriding button style on field ref button
* fix: tidy up the asChild stuff on side panel trigger element
* fix: bunch of type errors on logs sidebar
Theres a temp any fix in there dont kill me frontend team :D
* feat: add to new logs sidebar too
* feat: add to download dropdown menus
* chore: alphabetical order on new logs dropdown
* chore: add target blank to sheet footer
* fix: gap between buttons on old logs toolbar
* feat: add a separator on old logs
* style: new logs top buttons correct types
* Add a grace period heading
* Cleanup
* docs(billing-faq): clarify clears after several cycles
* docs(billing-faq): update grace period explanation in billing FAQ
---------
Co-authored-by: Pamela Chia <pamelachiamayyee@gmail.com>
When user logs out from the user dropdown, they're redirected to the
sign-in page via the withAuth redirect, which means that the returnTo
param is used -- but if the user _intentionally_ logged out, this might
not be the right behavior, i.e., if they want to log in to another
account. Instead, if they chose to log out, we shouldn't use the
returnTo param.
Since the /logout page already implements this behavior, I changed "Log
out" button to just route to the /logout page.
* Add cant access to supabase
* Add identify lovable backend guide
* Improve guide with images and components
* Improve style
* Fix relative urls
* Apply formatting rules
* Put link in line
* Apply formatting rules
* Add Lovable and Lovable Cloud to words allows_list
* Use Admonition for note
* Apply several improvements to content
* #40024 fixed unreachable pages from navigation menu
* simplified nav item name
* fixed format using pnpm run format command
* fixed more sections, replaced `url: "/"` with overview path
---------
Co-authored-by: Paul <ibeabuchi@worklio.cz>
* Initial work on vector buckets.
* Add more queries and UI.
* chore(studio): vector buckets contents (#39705)
* language
* match analytics buckets
* shared empty state
* proper loading state
* create dialog cleanup
* simplify copywriting
* proper details
* filtering
* use real data
* chore(studio): vector buckets polish A (#39759)
* empty state
* better checks
* bucket name in sheet
* fix typo
* sheet improvements
* rename vector index to vector table
* cleanup
* More work on the vector indexes.
* Add delete for bucket and indexes. Create index should now work.
* chore(studio): vector buckets polish B (#39794)
* loading
* delete modal
* fix modal behaviour
* Add modal for deleting vector buckets.
* Bring back the shimmering loader.
* chore(studio): vector buckets polish C (#39887)
* fix bucketname on deletion dialog
* empty states
* remove extraneous padding
* proper loading and not-found cases
* Minor fixes.
* Minor updates to the vector components.
* Add more instructions to the cursor rules.
* Some refactors and shifting files around
* Refactor analytics buckets detial to improve time to fcp
* Fix
* Refactors + simplify
* Last few nits, just leaving comments
* If the bucket is not empty, delete all indexes first.
---------
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* First pass of deprecating old storage UI components
* Clean up local-storage flag for new storage UI
* Add coming soon UI for analytics and vector buckets pages
* Set up warning states for analytics buckets
* fix spelling and margin
* Smol fix
* nit
* Surface wrappers upgrade check in UI instead of toast
* Nit clean up
* update tests
---------
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
A few troubleshooting guides aren't syncing properly, for miscellaneous
issues:
- Misformatted link
- Edge cases with Markdown parsing:
- GFM automatically wraps emails in angle brackets, which subsequently
breaks MDX because it expects anything wrapped in angle brackets to be a
JSX tag
- toMarkdown inserts sentinel comments between certain blocks, which
subsequently breaks MDX for the same reason
* suppress webpack/Turbopack warning
* empty states first draft
* todo note
* empty state documentation
* remove empty code block and confusing examples
* do not automatically select first org
* placeholder
* use form validation
* default to org if only one
* better handle decline
* simplify decline
* clearer label when org is preselected
* fix(support link): auto-fill organization when on org page
If user clicks the Support Link from an org page (not a project page),
pass along the organization slug in the query params to auto-fill the
Support Form.
* fix(date picker test)
The new UI for range picking is a little different, and requires
double-clicking to start a new range.
* docs: prefer project config for Claude Code
* docs: prefer CLI for Claude Code MCP installation
* docs: authentication instructions for Claude Code
* docs: update MCP authentication admonition
Not all clients automatically prompt login, and we now preselect the correct organization for project scoped MCP servers.
* fix: disable `contentEditable` on claude code codeblocks
* fix: table editor menu on mobile
Problem:
On mobile, when the schema selector is changed in the table editor menu,
the menu immediately closes again before the user has a chance to select
a table.
Solution:
The closing is caused by the new schema selection updating the router
query. Whenever router.asPath changes, layout logic causes the mobile
menu to collapse. This layout logic probably makes sense for the vast
majority of cases, and I don't want to touch something that probably
affects many screens, so I opted instead to change the schema selection
locally within the TableEditorMenu.
The schema selection on mobile is now a two-phase commit. In the first
phase, only local schema state changes, so the user has time to select a
table. When the user selects a table or closes the menu, the schema
state is committed, which triggers the global state change, including
the router query update.
* Revert "fix: table editor menu on mobile"
This reverts commit f8835137a1.
* fix: don't close mobile menu simply for query param changes
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>