Repository navigation
Upgrade duly to @objectstack 18.3.0 - #186
Merged
Merged
Conversation
Every @objectstack/* range moves to ^18.3.0 and the lockfile is
regenerated. Three things the bump broke, each fixed at its cause:
- An action's description, params[].helpText and outcomeMessages are
template slots in 18.3 (action-dialog-outcome-copy-template-holes).
The six Apply outcome toasts, en and zh-CN, now read {{ result.x }}
holes instead of ${result.x}. The i18n walk gives each envelope's
.source a translate verdict at the same bundle key and .dialect a
machine verdict; the stale translateAction note is refreshed, since
18.3 now applies description, params and outcomeMessages.
- The platform's translatable metadata types gained 'book'. duly
declares none, so no untranslatable verdict moves and the pin widens.
- plugin-email folds a recipient locale against the template's locales
(objectstack#28880): zh and zh-TW recipients now get the zh-CN row
instead of the en-US floor, the change the test was pinned to catch.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JQwxbYb3sm2qHar9rVa6Ko
…ps (#185) 18.3 ships the app slot for record pages (objectstack#28979). duly_member names apps: ['duly_app'], so Duly > People > a person opens the member page, while Setup > Users keeps plugin-auth's sys_user_detail. On 18.3 it is also the only entry: the console no longer renders the duly_member_open header action, which stays for now and is a follow-up. The page note records the measurement and the known 18.3 limit: the full-page route answers 400 because the record-page request refuses a related list over a user field (objectstack#29946). The drawer renders every region. test/member-page.test.ts mirrors the 18.3 console rule and pins both answers; the i18n walk classifies page.apps[] as machine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JQwxbYb3sm2qHar9rVa6Ko
Contributor
席位核对ACCEPT: PR #186 at head
Generated by Claude Code |
Contributor
LandedSeat landing at 2026-11-03T16:45Z (duly lane seat, session
State: #185 is closed Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Warren · project thread
Fixes #185
What changes
Every
@objectstack/*range inpackage.jsonmoves from^18.2.0to^18.3.0(all 16 resolve to 18.3.0), andpnpm-lock.yamlis regenerated.On main
16d2644with only the bump,typecheckpassed,validateandbuildfailed with 6 findings, andtestfailed 9 of 1327. There were three causes, each fixed at its cause:action-dialog-outcome-copy-template-holes). An action'sdescription, eachparams[].helpTextand eachoutcomeMessagesentry now parse to{ dialect: 'template', source }, and the gates refuse${…}.duly_catalog_applyandduly_catalog_apply_to_peoplenow use{{ result.x }}holes, in en (src/actions/catalog.actions.ts) and zh-CN (src/translations/zh-CN.ts).src/translations/authored-text.tsgives each envelope's.sourceatranslateverdict at the same bundle key (description,outcomeMessages.<o>,params.<p>.helpText) and.dialectamachineverdict. The stale note ontranslateActionis refreshed, because 18.3 now appliesdescription, params andoutcomeMessagesfrom those addresses.test/catalog-apply-unit.test.tsreads the envelope's.sourceand matches{{ result.x }}holes.book. duly declares no book, so nountranslatableverdict moves. The pin intest/i18n-coverage.test.tswidens, and the rationale is recorded beside it.zhandzh-TWrecipients now get the zh-CN row instead of the en-US floor.test/email-templates.test.tshad pinned this so it would go red when folding landed. Only those two rows change, and the comment now explains the 18.3 ladder.No gate is skipped and no assertion is weakened.
Opening a person lands on the Duly member page (6f8f0ec)
In 18.3 the console no longer renders the #113 stopgap
duly_member_openin the person header menu, so the member page had no way in. 18.3 shipsPageSchema.apps(objectstack#28979), sosrc/pages/member.page.tsnow declaresapps: ['duly_app']. Inside Duly, opening a person showsduly_member. Setup → Users still showssys_user_detail.test/member-page.test.tspins the app slot. It checks that Duly resolves toduly_member, that no app and Setup resolve tosys_user_detail, and, as a control, that withoutappsDuly resolves tosys_user_detail.duly_member_openis left as it is.appsalso gets amachineverdict inauthored-text.ts.Browser check on this head, in en and zh: the drawer from People renders all three sections, and Setup → Users (both the list click and the direct route) stays
sys_user_detail.Known 18.3 limit: "Open full page" from the drawer, and the route
/sys_user/record/<id>/page/duly_member, still answer 400 until objectstack#29946 lands. The record-page request check accepts onlylookupandmaster_detailrelationships, andduly_task.owneris aField.user.Gates (local)
pnpm validatehierarchy-securitywarning)pnpm typecheckpnpm testpnpm buildThe full browser check (en-US and zh-CN against the 18.2 baseline at
16d2644) and the re-measurement of the workarounds are reported separately, in the project files underduly-18.3-browser-check/.🤖 Generated with Claude Code
https://claude.ai/code/session_01JQwxbYb3sm2qHar9rVa6Ko