Repository navigation
Collection Settings in React: Team Collection page (BL-16735) - #8500
andrew-polk wants to merge 1 commit into
Conversation
|
[Medium impact] The PR appears safe to merge with no new actionable findings.
|
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] Consulted Devin on 2026-10-23 17:00 UTC up to commit 0b57ebc. It found 5 bugs over two rounds. Two are fixed: the Pro rule for a pending create and saved administrators blocking saves. Two are declined with reasons: retry after a failed create and the silently refused Pro code. One is left open for Andrew to decide: rename and create in the same save. It also made 1 informational note (accepting the default Dropbox folder skips the early location check, as the old dialog does). |
|
[Devin] Bug: Deleted localization entry lacks lossless-deletion evidence ( The removed ✅ Not an issue. [Claude Opus 5.5 from Andrew Polk's machine during preflight] The evidence:
Nothing is deleted from what reviewers or translators have seen. |
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] Consulted Devin on 2026-10-23 up to commit 1f3abe5. It considers rename and create in the same save fixed. Three new points are answered with no code change: a failed save drops the create request (declined, with the reason), the description was out of date (refreshed), and evidence for the XLF entry removal (the PR's net diff deletes nothing). No review threads are open. |
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] @greptile-apps review |
1a5dfa1 to
f14df6f
Compare
f14df6f to
01c8b47
Compare
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] Consulted Devin on 2026-10-23 up to commit 01c8b47, after the stack was restacked onto BL-16733 5b07891. No new findings: the rebase carried over earlier ones, each already answered on its thread, including the out-of-date description note, which was refreshed earlier. No review threads are open. |
0dc7f2e to
bc640b7
Compare
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] @greptile-apps review |
|
[Claude Opus 5.5 from Andrew Polk's machine during preflight] Consulted Devin on 2026-10-26 up to 6ce8ecb (the restacked branch plus this round's simplification of the Create dialog and the administrators check). Nothing new: every finding it lists is an earlier one that already has an answer on its thread. The one about local-domain administrators is now reversed on purpose; its thread records that decision. |
The page shows the WinForms tab's panel (TeamCollectionSettings, with its warning and subscription overlay). The dialog keeps the administrators, checks them with the front end's email check (OK is disabled while they are invalid, including ones saved earlier under C#'s looser rule), and Apply saves them in a Team Collection. Create & Restart opens the existing Create dialog, which hands back the chosen folder: the dialog saves the other edits, then C# creates the Team Collection (TeamCollectionApi.CreateTeamCollection) and Bloom restarts; Pro is refused when creating. Create is disabled while a collection rename is unsaved. The page is hidden when the feature is off and this is not a Team Collection, and for a book downloaded for editing. The WinForms tab keeps its create-at-once behavior through LegacyCreateTeamCollectionDialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6ce8ecb to
8dd7cb3
Compare
Problem
The new React Collection Settings dialog (BL-16271) showed only a placeholder on its Team Collection page. Users still had to use the old WinForms dialog to see a Team Collection's shared folder, edit its administrators, or turn a collection into a Team Collection.
What the PR does
admin@intranetmust be fixed before the settings can be saved. A change is saved byApplyand needs a restart, as in the old dialog.TeamCollectionApi.CreateTeamCollection, split out of the old endpoint) and Bloom restarts. The edits are saved first so they reach the shared copy. The Team Collection subscription rules apply, so a Pro code typed in the same save is refused. This reverses PLAN Q12, which had deferred the create to the settings dialog's OK; the plan says why.Screenshots
With an unsaved new name on the Advanced page, Create is disabled and the page says why. (A collection without the needed subscription shows the old tab's overlay over this panel, as before; it was hidden for this shot.)
The existing Create dialog, now shown in the browser over the settings dialog. Create & Restart saves the settings, creates the Team Collection and restarts.
Risk Evaluation
Low. The shared code it changes:
CollectionSettingsUpdater.Apply, the React dialog's save path, now applies posted administrators and, after saving, a requested Team Collection.teamCollection/createTeamCollectionendpoint now calls a method split out of it, with the same steps and error reporting.TeamCollectionSettingsPanelwas split so the page can keep the administrators itself; the WinForms tab keeps a thin wrapper.CreateTeamCollectionDialognow always hands the chosen folder to its caller. The WinForms tab gets its old create-at-once behavior from a smallLegacyCreateTeamCollectionDialogwrapper, which goes at cutover.Everything else is reached only through the new page.
Ecosystem Impact
No change to books, published output or the collection file format: administrators are saved exactly as the old dialog saves them. One new string,
CollectionSettingsDialog.TeamCollectionPage.SaveRenameFirst, in BloomLowPriority.xlf withtranslate="no"like the other new pages' strings; the page otherwise reuses the existingTeamCollection.*strings. No new dependencies.Automated Tests
CollectionSettingsDialog.test.tsx,administrators.test.ts): which collections get the page, administrator checking (including addresses saved under the looser rule), saving with the folder when Create & Restart is pressed, Cancel saving nothing, and the rename guard.CollectionSettingsUpdaterTests):Applysaving the administrators only in a Team Collection, creating the Team Collection only after saving, and refusing a Pro code when creating.It replaces master's
ApplyAdministrators_OnlyInATeamCollectionwithApply_AdministratorsOutsideATeamCollection_Ignored, sinceApplyAdministratorsis now part ofApply(approved by Andrew).Test of the change: the vitest and NUnit tests above.
E2E Coverage
None. No e2e test drives the new Collection Settings dialog yet; one is added at cutover (BL-17042). The unit tests above cover the change instead.
Live checks:
Notion Test Suite
None.
Preflight report: https://bloombooks.github.io/dev-process-artifacts/deciders/bloomdesktop-bl-16735-team-collection-settings.html
Ref: https://issues.bloomlibrary.org/youtrack/issue/BL-16735
🤖 Generated with Claude Code
Devin review
This change is