Skip to content

Conversation

@t0mdavid-m
Copy link
Member

@t0mdavid-m t0mdavid-m commented Sep 23, 2025

(hopefully)

Summary by CodeRabbit

  • Bug Fixes

    • Improved app stability on Unix systems by enforcing a safer process start method, reducing potential crashes or hangs during data processing.
  • Chores

    • Bumped application version to 0.9.14.
    • Updated Windows installer naming to reflect the new version.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 23, 2025

Walkthrough

Bumps app/version identifiers from 0.9.13 to 0.9.14 in workflow and settings. Adds early multiprocessing start-method enforcement to "spawn" in app.py before other imports.

Changes

Cohort / File(s) Summary
Version bump identifiers
.github/workflows/build-windows-executable-app.yaml, settings.json
Updated APP_NAME in workflow from FLASHApp-0.9.13 to FLASHApp-0.9.14; updated settings.json version to 0.9.14.
Startup process method enforcement
app.py
Added pre-import logic to enforce multiprocessing start method "spawn" on Unix if not already set; no public API changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant User
  participant App as app.py
  participant MP as multiprocessing
  participant Modules as Other Modules

  User->>App: Launch application
  rect rgb(230, 245, 255)
    note right of App: Startup initialization (new)
    App->>MP: get_start_method()
    alt method != "spawn"
      App->>MP: set_start_method("spawn", force=True)
      note over App,MP: Ensure safe process start model
    else already "spawn"
      App-->>MP: No change
    end
  end
  App->>Modules: Import and initialize dependencies
  User-->>App: Interact with running app
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

A rabbit taps the version drum,
0.9.14—here we come!
Spawn the kits, no forks today,
Clean starts hop the Unix way.
Names refreshed, the build is bright—
FLASHApp leaps into the night. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Final Polars Fix" is concise and directly reflects the primary change in the PR—addressing Polars-related multiprocessing behavior in app.py—while the version and installer name bumps are incidental to that main fix.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch final_polars_fix

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@t0mdavid-m t0mdavid-m merged commit ba00399 into develop Sep 23, 2025
3 of 4 checks passed
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 (1)
app.py (1)

1-5: Nit: clarify OS scope and fix comment typo (optional).
Make intent explicit (non‑Windows) and tweak wording.

Apply:

-# Needed as polars doesnt work well with forking on unix systems
-import multiprocessing as mp
-if mp.get_start_method(allow_none=True) != "spawn":
-    mp.set_start_method("spawn", force=True)
+# Polars has issues with fork on Unix; enforce "spawn" early
+import sys
+import multiprocessing as mp
+if sys.platform != "win32" and mp.get_start_method(allow_none=True) != "spawn":
+    mp.set_start_method("spawn", force=True)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 14bfd25 and c54c45a.

📒 Files selected for processing (3)
  • .github/workflows/build-windows-executable-app.yaml (1 hunks)
  • app.py (1 hunks)
  • settings.json (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build-openms
  • GitHub Check: build-full-app
🔇 Additional comments (3)
app.py (1)

1-5: LGTM: enforce spawn before other imports.
This should prevent Polars fork issues by setting the start method early.

.github/workflows/build-windows-executable-app.yaml (1)

17-17: APP_NAME updated to 0.9.14 — matches settings.json.
Verified .github/workflows/build-windows-executable-app.yaml contains FLASHApp-0.9.14 and settings.json version is 0.9.14; no FLASHApp-0.9.13 occurrences found.

settings.json (1)

4-4: Version bump looks good; please check for stale references to 0.9.13.
Keep settings.json, workflow, and any docs in sync.

Run to find leftovers:

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.

2 participants