Repository navigation
Collection Settings in React: Team Collection page (BL-16735) - #8500
andrew-polk wants to merge 5 commits into
Conversation
|
[Medium impact] The changes affect the Team Collection settings and creation workflow. Update the dependent caller in PR #8502 before merging this change through the stack. 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
Reuses the WinForms tab's panel; the dialog keeps the administrators (checked in the client) and the folder to create a Team Collection in, which C# applies after saving. The page is hidden when the feature is off outside a Team Collection, and for a Bloom Library book downloaded for editing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d administrators (BL-16735) A collection becoming a Team Collection in the same save now gets the Team Collection subscription rule, so it cannot take a Pro code with it. Saved administrators are no longer re-checked by the browser's stricter email rule, which blocked every save for an address like admin@intranet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ename is unsaved (BL-16735) Reverses PLAN Q12: the Create dialog's Create & Restart now has the settings dialog save at once (the user's other edits first, so they reach the shared copy), then create the Team Collection and restart, as in the old dialog. While the collection name has an unsaved edit, Create is disabled with a note to save the rename first; otherwise the Team Collection would get the old name, which is also the name the Create dialog asks the user to approve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BL-16734 made CollectionSettingsValues.Subscription a copy made in the constructor that populating overwrites; the Team Collection values, which follow its pattern, now do the same instead of keeping a posted object. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
…BL-16735-team-collection-settings # Conflicts: # src/BloomBrowserUI/collection/CollectionSettingsDialog.test.tsx # src/BloomBrowserUI/collection/CollectionSettingsDialog.tsx # src/BloomBrowserUI/collection/collectionSettingsTypes.ts # src/BloomExe/web/controllers/CollectionSettingsApi.cs # src/BloomExe/web/controllers/CollectionSettingsTypes.cs
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
CollectionSettings.ValidateAdministratorsuses. If they are invalid, the field says so and OK is disabled. A change is saved throughApplyAdministratorsand 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.TeamCollectionSettingsPanelandCreateTeamCollectionDialogwere refactored so that the old WinForms tab and dialog behave exactly as before.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.E2E Coverage
None. No e2e test drives the new Collection Settings dialog yet; PLAN step 6 adds one at cutover. Unit tests cover the change instead:
Applysaving the administrators, creating the Team Collection only after saving, and refusing a Pro code when creating.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