Skip to content
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
9b7bff5
fix(nextly): restore content when localization is turned off in config
mobeenabdullah Jul 31, 2026
b765012
fix(nextly): seed status from the physical column and claim the marke…
mobeenabdullah Jul 31, 2026
385735a
fix(nextly): keep local schema out of generated migrations and refres…
mobeenabdullah Jul 31, 2026
b891587
refactor(nextly): resolve companion readiness once instead of probing…
mobeenabdullah Jul 31, 2026
8d93399
feat(nextly): give localization a supervised repair path and an hones…
mobeenabdullah Jul 31, 2026
cbb8263
chore(release): add changeset for the i18n companion readiness work
mobeenabdullah Jul 31, 2026
5758781
fix(nextly): claim a transition before a new copy and normalize compa…
mobeenabdullah Jul 31, 2026
25f583e
fix(nextly): scope readiness per connection and make claims and resto…
mobeenabdullah Jul 31, 2026
8f9d996
fix(nextly): stop inferring a localization repair, and refresh status…
mobeenabdullah Jul 31, 2026
53168a8
refactor(nextly): run the runtime localization restore through Drizzle
mobeenabdullah Jul 31, 2026
d63756a
fix(nextly): make the restore pick a locale that exists and stop unco…
mobeenabdullah Jul 31, 2026
0bf5d53
fix(nextly): warm readiness before transactions and bound a positive …
mobeenabdullah Jul 31, 2026
1d018cc
fix(nextly): restore each entry from the locale it has, and defer DDL…
mobeenabdullah Jul 31, 2026
ce4a4e7
fix(nextly): warm field-group readiness before the payload is consulted
mobeenabdullah Jul 31, 2026
8bb166e
fix(nextly): settle only from the state the copy was claimed under
mobeenabdullah Jul 31, 2026
0d2bdbf
fix(nextly): hold a transition exclusively and restore its publishing…
mobeenabdullah Jul 31, 2026
9c55a93
docs(release): note the restored publishing state and the readiness w…
mobeenabdullah Jul 31, 2026
040ce91
fix(nextly): restore each entry from one companion row, and settle on…
mobeenabdullah Jul 31, 2026
6725737
fix(nextly): rank restore locales instead of filtering by them
mobeenabdullah Jul 31, 2026
b21e720
fix(nextly): carry the claim into the one statement that cannot be un…
mobeenabdullah Jul 31, 2026
ec7057b
fix(nextly): rank locales in the disable migration and report a lost …
mobeenabdullah Jul 31, 2026
9e859d6
fix(nextly): restore publishing state in the disable migration too
mobeenabdullah Jul 31, 2026
de4d809
Merge remote-tracking branch 'origin/main' into feat/i18n-companion-r…
mobeenabdullah Jul 31, 2026
557394f
fix(nextly): decide the disable status restore from the physical tables
mobeenabdullah Jul 31, 2026
e758121
fix(nextly): remember what a claim owes, and guard the copy that cann…
mobeenabdullah Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .changeset/i18n-companion-readiness.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
"nextly": patch
"create-nextly-app": patch
"@nextlyhq/admin": patch
"@nextlyhq/admin-css": patch
"@nextlyhq/blocks-engine": patch
"@nextlyhq/ui": patch
"@nextlyhq/adapter-drizzle": patch
"@nextlyhq/adapter-postgres": patch
"@nextlyhq/adapter-mysql": patch
"@nextlyhq/adapter-sqlite": patch
"@nextlyhq/storage-s3": patch
"@nextlyhq/storage-uploadthing": patch
"@nextlyhq/storage-vercel-blob": patch
"@nextlyhq/plugin-form-builder": patch
"@nextlyhq/plugin-page-builder": patch
"@nextlyhq/plugin-seo": patch
"@nextlyhq/plugin-sdk": patch
"@nextlyhq/eslint-config": patch
"@nextlyhq/prettier-config": patch
"@nextlyhq/telemetry": patch
"@nextlyhq/tsconfig": patch
---

Turning localization off in `nextly.config.ts` now brings your content back onto the main table. Previously only the Schema Builder toggle did this, so setting `localized: false` in configuration left every translation in a table nothing read any more and fell back to whatever the entity held before it was localized. Turning localization on again no longer trusts the stale rows that companion still holds.

Enabling localization and Draft/Published in the same edit now applies. It used to fail part-way and could never succeed on a retry, because the copy read a `status` column the schema push had not added yet.

Saving a localized entity is faster, and on PostgreSQL a class of failure is gone. Every localized write used to ask the database whether each translation table existed — once per entity, plus once per field-group type in the payload, before the write and again inside it. That answer is now resolved once and remembered. The read that builds the response used to discover the same thing by running its query and catching the failure, which on PostgreSQL aborts the whole transaction: writes that should have succeeded failed with `current transaction is aborted`, blaming an unrelated statement.

When a translation write is refused, the message now names the right fix for where you are running. Production is told to run `nextly migrate` instead of `nextly db:sync`, which is a development tool and cannot help there — and `nextly migrate` now creates missing translation tables and repairs installs that enabled localization before Nextly began recording it.
Loading
Loading