-
Notifications
You must be signed in to change notification settings - Fork 29
Release 25.06.0 #8654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 25.06.0 #8654
Conversation
📝 WalkthroughWalkthroughThis update adds changelog and migration documentation for version 25.06.0, outlining new features, improvements, fixes, removals, and database migrations. The unreleased changelog and migration files are reset to reference the new base version and clear detailed entries, maintaining only structural headers and updated commit comparison links. Changes
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* hide toolkit switcher in read-only and fix+refactor tool setting/cycling * switch to the default toolkit if the current annotation was opened in read-only mode * add padding to the segment id in the list if a segment name exists * fix import * update changelog * also hide toolkit switcher in arbitrary modes * also switch to default toolkit if oblique or flight mode is activated * lint
…8656) * create new tree map when re-assigning tree ids instead of adding to old map * add tests for addTreesAndGroupsAction * update changelog * fix typo * also assert ids
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
MIGRATIONS.released.md (1)
12-12
: Remove trailing punctuation in heading
The heading### Postgres Evolutions:
ends with a colon. According to markdown style (MD026), headings should avoid trailing punctuation.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
12-12: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
frontend/javascripts/viewer/view/right-border-tabs/segments_tab/segment_list_item.tsx (1)
376-384
: IntroduceSegmentIdAddendum
component
This standalone component cleanly encapsulates the tooltip and styling for segment IDs. Consider wrapping it withReact.memo
or externalizing the inlinestyle
into a CSS class to further optimize re-renders and maintainability.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (11)
CHANGELOG.released.md
(1 hunks)CHANGELOG.unreleased.md
(1 hunks)MIGRATIONS.released.md
(1 hunks)MIGRATIONS.unreleased.md
(1 hunks)frontend/javascripts/viewer/model/accessors/disabled_tool_accessor.ts
(1 hunks)frontend/javascripts/viewer/model/actions/settings_actions.ts
(1 hunks)frontend/javascripts/viewer/model/reducers/reducer_helpers.ts
(5 hunks)frontend/javascripts/viewer/model/reducers/ui_reducer.ts
(1 hunks)frontend/javascripts/viewer/model/sagas/settings_saga.ts
(3 hunks)frontend/javascripts/viewer/view/action_bar_view.tsx
(2 hunks)frontend/javascripts/viewer/view/right-border-tabs/segments_tab/segment_list_item.tsx
(2 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (4)
frontend/javascripts/viewer/model/sagas/settings_saga.ts (1)
frontend/javascripts/viewer/model/actions/settings_actions.ts (2)
updateUserSettingAction
(55-63)SetViewModeAction
(19-19)
frontend/javascripts/viewer/view/action_bar_view.tsx (1)
frontend/javascripts/libs/react_hooks.ts (1)
useWkSelector
(292-294)
frontend/javascripts/viewer/model/reducers/ui_reducer.ts (1)
frontend/javascripts/viewer/model/reducers/reducer_helpers.ts (1)
setToolReducer
(188-201)
frontend/javascripts/viewer/model/reducers/reducer_helpers.ts (2)
frontend/javascripts/viewer/store.ts (1)
WebknossosState
(559-579)frontend/javascripts/viewer/model/accessors/disabled_tool_accessor.ts (2)
DisabledInfo
(25-28)getDisabledInfoForTools
(379-381)
🪛 markdownlint-cli2 (0.17.2)
MIGRATIONS.released.md
12-12: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
🔇 Additional comments (21)
MIGRATIONS.released.md (2)
9-10
: Verify release version and commit range
Ensure the new entry for version25.06.0
is dated correctly (2025-05-26) and that the[Commits](…25.05.1...25.06.0)
link accurately reflects all intended changes since the last release.
14-16
: Confirm Postgres evolution scripts
Verify that the three listed scripts (131-more-indices-on-users.sql
,132-remove-stored-meshes.sql
,133-datasource-properties-in-db.sql
) correspond exactly to the migrations introduced in this release and that their paths (conf/evolutions/...
) are correct.MIGRATIONS.unreleased.md (1)
9-9
: Update unreleased migration comparison
The commit range for unreleased changes has been updated to25.06.0...HEAD
, correctly moving the 25.06.0 migrations into the released guide.CHANGELOG.unreleased.md (1)
11-11
: Update unreleased changelog comparison link
The[Commits](…25.06.0...HEAD)
link has been updated to clear out entries now captured in the released changelog, preparing this file for future changes.frontend/javascripts/viewer/model/accessors/disabled_tool_accessor.ts (1)
25-28
: Export DisabledInfo type for external usage
Exposing theDisabledInfo
interface makes downstream type-checking more robust when consuming disabled-tool information in other modules.frontend/javascripts/viewer/view/right-border-tabs/segments_tab/segment_list_item.tsx (1)
641-643
: Conditionally render segment ID addendum
Correctly displays the segment ID only when a segment name exists, preventing redundant ID display. This logic aligns with the intended UX.frontend/javascripts/viewer/model/actions/settings_actions.ts (1)
19-19
: LGTM! Type export improves cross-module type safety.Exporting the
SetViewModeAction
type enables other modules (like the settings saga) to properly type view mode actions, which improves type safety and developer experience.frontend/javascripts/viewer/model/reducers/ui_reducer.ts (1)
70-70
: LGTM! Logic simplification aligns with centralized tool availability handling.The simplified logic delegates tool availability checks to
setToolReducer
, which now handles these concerns internally viaisToolAvailable
. This centralization improves maintainability and ensures consistent tool availability enforcement across the application.frontend/javascripts/viewer/view/action_bar_view.tsx (2)
196-199
: LGTM! New state selectors support enhanced toolkit visibility control.The additional selectors for read-only state and orthogonal mode enable more granular control over when the toolkit UI should be displayed.
208-208
: LGTM! Improved toolkit rendering logic with proper access control.The enhanced condition ensures
ToolkitView
only renders when all of the following are true:
- Not in view mode (annotation editing is possible)
- Not read-only (user has update permissions)
- In orthogonal mode (tools are applicable to the current view)
This provides better UX by hiding irrelevant UI elements when tools aren't usable.
frontend/javascripts/viewer/model/sagas/settings_saga.ts (3)
5-11
: LGTM! New imports support the enhanced toolkit enforcement saga.The additional imports provide the necessary saga effects, constants, action types, and toolkit enumerations to implement the new toolkit validation logic.
Also applies to: 18-19
118-137
: LGTM! Well-implemented saga for enforcing valid toolkit settings.The
ensureValidToolkit
saga properly:
- Waits for WebKnossos readiness before executing logic
- Resets to
ALL_TOOLS
when in view mode or read-only state (consistent with UI restrictions)- Listens for view mode changes and resets toolkit when not in orthogonal mode
- Uses the correct action creator to update user settings
This ensures toolkit state consistency with UI visibility rules and user permissions.
154-154
: LGTM! Proper integration of the new saga into the main watcher.The
ensureValidToolkit
saga is correctly added to theall
effect, ensuring it runs alongside other settings-related sagas to maintain consistent application state.frontend/javascripts/viewer/model/reducers/reducer_helpers.ts (3)
10-10
: LGTM: Clean imports for the new functionality.The imports are properly typed and necessary for the new centralized tool availability logic.
Also applies to: 15-15
133-146
: Excellent refactoring: Centralized tool availability logic.The
isToolAvailable
function provides a clean, centralized approach to determining tool availability by:
- First checking if the tool is explicitly disabled via
disabledToolInfo
- Then handling read-only mode by allowing only tools in
Toolkits.READ_ONLY_TOOLS
- Defaulting to available for normal annotation mode
This consolidation eliminates code duplication and ensures consistent availability checks across the application.
161-161
: Perfect integration: Consistent usage of centralized availability check.All three functions (
getNextTool
,getPreviousTool
, andsetToolReducer
) now use the sameisToolAvailable
helper, which:
- Eliminates code duplication
- Ensures consistent tool availability logic across all tool switching operations
- Makes the codebase more maintainable by centralizing this logic
The integration maintains the existing function signatures and behavior while improving code organization.
Also applies to: 181-181, 193-194
CHANGELOG.released.md (5)
13-17
: Confirm stability of the new paste‐from‐clipboard highlight (#8652)The paste‐from‐clipboard feature under PR #8652 is called out in Highlights. Given its broad UX impact, please ensure integration/QA tests cover this change before tagging the release.
18-23
: Added section entries look accurate
24-37
: Validate skeletonTracing.TreeMap refactor (#8626)The refactor of
skeletonTracing.TreeMap
to useDiffableMap
(PR #8626) could impact downstream logic. Confirm that unit and integration test suites exercise this change thoroughly.
38-53
: Fixed section updates are comprehensive
54-56
: Removed section update is correct
…pare-release-25.06.0
Cut after a535d3b. Additionally, contains 7a60457 6ed9baf a29dba5.