Skip to content

Conversation

philippotto
Copy link
Member

Based on 25.03.0. Adds:

philippotto and others added 9 commits April 1, 2025 17:20
* rename some variables

* more renaming

* more renaming

* fix undo in merger mode

* format

* change any to number

---------

Co-authored-by: Michael Büßemeyer <[email protected]>
Co-authored-by: MichaelBuessemeyer <[email protected]>
* fix highlighting the correct navbar item

* update changelog
…ent query plan (#8498)

* Restructure list annotations query to guide Postgres to a more efficient query plan

* changelog

---------

Co-authored-by: MichaelBuessemeyer <[email protected]>
* Fix concurrency bug in skeleton saving

* changelog
@philippotto philippotto requested a review from fm3 April 10, 2025 13:08
@philippotto philippotto self-assigned this Apr 10, 2025
Copy link
Contributor

coderabbitai bot commented Apr 10, 2025

📝 Walkthrough

Walkthrough

This pull request updates documentation files for releases and migrations. It adds a new release section for version 25.03.1 with bug fixes—addressing issues with annotation list loading and incorrect saving of large skeletons—and updates the unreleased changelog with performance improvements and additional fixes. Similarly, for migrations, a new release section is added and several updates are made, including the removal of two SQL migration entries.

Changes

File(s) Change Summary
CHANGELOG.released.md, CHANGELOG.unreleased.md - Added new release section for v25.03.1 (2025-04-10).
- Documented fixes for annotation list loading & large skeleton saving.
- Updated unreleased version entries with new features, improvements, and bug fixes.
MIGRATIONS.released.md, MIGRATIONS.unreleased.md - Added new release section for v25.03.1 and updated previous release notes.
- Updated FossilDB requirements and added new SQL migration files in the released file.
- Removed two SQL migration entries in the unreleased file.

Possibly related PRs

  • scalableminds/webknosos#8287: Addresses the bug fix for large skeletons not saving correctly, aligning directly with the changes in this PR.
  • scalableminds/webknosos#8491: Focuses on the same issue of incorrect large skeleton saving, providing a strong code-level connection.
  • scalableminds/webknosos#8264: Also resolves bugs related to large skeleton saving, complementing the fixes introduced in this pull request.

Suggested reviewers

  • fm3

Poem

Oh, how I hop with glee in code fields bright,
Fixing bugs and glitches all day and night.
My whiskers twitch at changes so keen,
With skeletons saved and annotations seen.
In leaps and bounds, I celebrate each fix, 🥕
A rabbit’s code is clever, quick, and full of tricks!
Hop on, code—let’s make our work tick!


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
MIGRATIONS.released.md (2)

12-14: Review Postgres Evolutions Heading for 25.03.1
The heading “### Postgres Evolutions:” on line 12 ends with a colon. According to our markdown lint guidelines (MD026), headings should not have trailing punctuation. Consider removing the colon. For example:

-### Postgres Evolutions:
+### Postgres Evolutions

The content ("None.") clearly indicates there are no evolutions for this release.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

12-12: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


18-19: Additional FossilDB Instruction Update
The note on line 18 informs users that FossilDB now requires opening with an additional column family (skeletonTreeBodies) and references pull request [#8423]. The information is clear.
However, the unordered list item currently has a leading space which (per MD007) should have no indentation in markdown unordered lists. Consider removing the extra space before the hyphen. For example:

- - FossilDB now needs to be opened with additional column family `skeletonTreeBodies`. [#8423]
+ - FossilDB now needs to be opened with additional column family `skeletonTreeBodies`. [#8423]
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

18-18: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 02a39f4 and 22adf01.

📒 Files selected for processing (6)
  • CHANGELOG.released.md (1 hunks)
  • CHANGELOG.unreleased.md (1 hunks)
  • MIGRATIONS.released.md (3 hunks)
  • MIGRATIONS.unreleased.md (1 hunks)
  • app/models/annotation/Annotation.scala (1 hunks)
  • webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/skeleton/SkeletonTracingService.scala (1 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
app/models/annotation/Annotation.scala (1)
app/utils/sql/SqlInterpolation.scala (1)
  • q (19-38)
🪛 markdownlint-cli2 (0.17.2)
MIGRATIONS.released.md

12-12: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


18-18: Unordered list indentation
Expected: 0; Actual: 1

(MD007, ul-indent)


20-20: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


30-30: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: circleci_build
🔇 Additional comments (12)
webknossos-tracingstore/app/com/scalableminds/webknossos/tracingstore/tracings/skeleton/SkeletonTracingService.scala (1)

46-46: Use of .toFox promotes consistent error handling.
The addition of .toFox properly transforms the Box[TreeBody] into Fox[TreeBody], aligning with the existing monadic flow based on Fox. This change helps unify error handling across the codebase.

MIGRATIONS.unreleased.md (1)

9-9: Confirm correctness of the updated compare link.
Ensure that “Commits” accurately reflects the intended commit range for this release.

Please verify by opening the link and checking whether it includes all expected commits for 25.03.1.

app/models/annotation/Annotation.scala (2)

403-443: New CTE approach helps mitigate left-join fanout.
The introduction of a separate WITH an block and applying the limit/offset early appears to reduce the risk of exponential row expansion. This is a good step toward improving annotation fetching performance.


444-494: Double-check final grouping consistency.
Fetching shared team data with another grouping step is an effective solution for gathering arrays of team IDs without reintroducing join fanout. Consider stress-testing with large datasets to confirm query performance.

MIGRATIONS.released.md (3)

9-11: New Release Section for Version 25.03.1 Added
The new section correctly introduces version 25.03.1 with its release date and a commit range link. Please verify that the commit comparison URL accurately reflects the changes from 25.03.0 to 25.03.1.


15-17: Updated Release Section for Version 25.03.0
The release section for 25.03.0 is now updated with the correct commit link and release date. This change is clear and consistent with our versioning style.


20-26: Postgres Evolutions for 25.03.0 – Formatting and Completeness
The section starting on line 20 titled “### Postgres Evolutions:” (again ending with a colon) lists the five new SQL migration files. Similar to the earlier heading, please remove the trailing colon for compliance with our markdown style guidelines. For example:

-### Postgres Evolutions:
+### Postgres Evolutions

The list items (lines 21–25) are clearly specified and formatted as bullet points. Please also ensure that the file paths (e.g. conf/evolutions/126-mag-real-paths.sql, etc.) are correct and that these migration files exist in the repository.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

20-20: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)

CHANGELOG.released.md (4)

10-11: The release tag link and commit comparison link are well-formatted.

The links to the GitHub release tag and the commit comparison follow the established pattern used throughout the changelog, making it easy for users to access more detailed information about this release.


13-15: Bug fix descriptions are clear and concise with proper PR references.

The descriptions clearly explain the issues that were fixed (annotation list loading performance and skeleton saving problems) without being overly technical. Each item properly references the associated PR number with a link, making it easy to find more details if needed.


1-9: Changelog header and general format are well-maintained.

The header section maintains the established format, including the title, description of purpose, and reference to the unreleased changelog. The formatting guidelines are clear and consistent with the rest of the document.


17-62: Previous version entry (25.03.0) is maintained intact.

The entry for the previous version has been preserved correctly, including all its sections (Highlights, Added, Changed, Fixed). This ensures the changelog maintains a complete history of changes across versions.

CHANGELOG.unreleased.md (1)

11-12: Review of Commit Compare Link Update

The commit compare link now references "25.03.1" which is consistent with the new release version. Please verify that this tag correctly represents the intended baseline for unreleased changes.

@philippotto philippotto enabled auto-merge (squash) April 10, 2025 13:54
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
MIGRATIONS.released.md (3)

12-12: Remove Trailing Punctuation from Heading
The heading "# ### Postgres Evolutions:" ends with a colon, which triggers the MD026 markdown lint rule. For cleaner formatting and consistency, remove the trailing punctuation (i.e. change it to "### Postgres Evolutions").

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

12-12: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


20-26: Review Postgres Evolutions Block for Version 25.03.0
The block for Postgres Evolutions under version 25.03.0 properly lists the new SQL migration files. Similar to the earlier heading, consider removing the trailing colon from "### Postgres Evolutions:" to satisfy MD026 compliance and maintain consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

20-20: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


38-44: Detailed FossilDB Migration Instructions
The extended instructions for migrating the FossilDB content in version 25.02.0 are thorough. For enhanced readability and clarity, consider formatting the example command as a code block. Also, verify that the command options (e.g. PG_PASSWORD, --src, --dst, and --num_threads) are accurate and suitable for your production deployment.

🧰 Tools
🪛 LanguageTool

[style] ~38-~38: Consider using a different adverb to strengthen your wording.
Context: ...r instructions). Note that it writes to a completely new FossilDB, that must first be opened...

(COMPLETELY_ENTIRELY)


[style] ~39-~39: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ... - For the migration, a second FossilDB needs to be started. To do that, either use the ...

(REP_NEED_TO_VB)


[style] ~39-~39: Consider a more expressive alternative.
Context: ...second FossilDB needs to be started. To do that, either use the docker image, a ja...

(DO_ACHIEVE)

🪛 markdownlint-cli2 (0.17.2)

38-38: Unordered list indentation
Expected: 2; Actual: 5

(MD007, ul-indent)


39-39: Inconsistent indentation for list items at the same level
Expected: 5; Actual: 4

(MD005, list-indent)


39-39: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


40-40: Inconsistent indentation for list items at the same level
Expected: 5; Actual: 4

(MD005, list-indent)


40-40: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


41-41: Inconsistent indentation for list items at the same level
Expected: 5; Actual: 4

(MD005, list-indent)


41-41: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


42-42: Inconsistent indentation for list items at the same level
Expected: 5; Actual: 4

(MD005, list-indent)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Inconsistent indentation for list items at the same level
Expected: 5; Actual: 4

(MD005, list-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 22adf01 and 737138c.

📒 Files selected for processing (3)
  • CHANGELOG.unreleased.md (2 hunks)
  • MIGRATIONS.released.md (1 hunks)
  • MIGRATIONS.unreleased.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • MIGRATIONS.unreleased.md
  • CHANGELOG.unreleased.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
MIGRATIONS.released.md

12-12: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


20-20: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: frontend-tests
  • GitHub Check: backend-tests
  • GitHub Check: build-test-e2e-deploy
🔇 Additional comments (4)
MIGRATIONS.released.md (4)

9-14: New Release Section for Version 25.03.1 Addition
A new section for version 25.03.1 has been introduced with the release date 2025-04-10 and a commit comparison link. Please verify that the URL is correct—note that the link currently uses webknosos whereas the PR objectives reference webknossos. It may be worth double-checking for a potential typo.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

12-12: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


18-19: Confirm FossilDB Column Family Update
The bullet point "- FossilDB now needs to be opened with additional column family skeletonTreeBodies." clearly notifies users of the required change. Please ensure that the related documentation and migration processes are updated accordingly.


33-37: Configuration Updates for Version 25.02.0
This section outlines the renaming of configuration options and the removal of the addSegmentIndex migration route. The instructions are clear. Please verify that all parts of the system and documentation reflect these updates.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~37-~37: Possible missing comma found.
Context: ...as been changed. That requires a larger migration including the FossilDB content. [#7917]...

(AI_HYDRA_LEO_MISSING_COMMA)


48-53: Release Section for Version 25.01.0
The section for version 25.01.0 covers the key updates (removal of HTTP API versions 3 and 4, updated FossilDB version, and renaming of datastore configuration options) clearly and concisely. Ensure that any associated migration steps and documentation changes are synchronized with these updates.

@philippotto philippotto merged commit d03aeaf into master Apr 10, 2025
5 checks passed
@philippotto philippotto deleted the 25.03.1 branch April 10, 2025 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants