Skip to content

current - #10

Merged
baasith6 merged 1 commit into
mainfrom
azure-mvp-deploy
Jul 28, 2026
Merged

current#10
baasith6 merged 1 commit into
mainfrom
azure-mvp-deploy

Conversation

@baasith6

Copy link
Copy Markdown
Owner

No description provided.

@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@baasith6
baasith6 merged commit bb7fd1e into main Jul 28, 2026
0 of 4 checks passed
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@baasith6, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9668bd00-d292-474b-8100-e8e586712582

📥 Commits

Reviewing files that changed from the base of the PR and between 15c4d94 and c71415a.

📒 Files selected for processing (2)
  • connector/app/main.py
  • connector/app/store.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch azure-mvp-deploy

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.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Keep setup UI available and close local storage cleanly

🐞 Bug fix 🕐 10-20 Minutes

Grey Divider

AI Description

• Starts the admin UI before activation so pending installer setup remains reachable.
• Enables setup routes only while wizard configuration remains incomplete.
• Closes the SQLite connection safely during process shutdown.
Diagram

graph TD
  A["Load wizard"] --> B{"Setup pending?"}
  B -->|Yes| C["Admin setup UI"] --> D["Backend activation"] --> E["Monitoring workers"] --> H["Process shutdown"]
  B -->|No| F["Admin dashboard"] --> E
  G["Local store"] --> C
  G --> D
  G --> E
  H -->|atexit closes| G
Loading
High-Level Assessment

Starting one correctly configured admin server after loading wizard state is preferable to starting a basic server and attempting a second server after activation failure, which risks port conflicts and delayed setup access. The idempotent, lock-protected store cleanup also fits both automatic atexit handling and explicit test cleanup without introducing a separate lifecycle manager.

Files changed (2) +29 / -20

Bug fix (2) +29 / -20
main.pyStart the setup-aware admin server before connector activation +19/-19

Start the setup-aware admin server before connector activation

• Loads pending wizard state before starting the admin server, enabling setup routes and the completion callback only when setup is incomplete. Consolidates the previous startup paths so the local UI remains available during activation without attempting to launch another server later.

connector/app/main.py

store.pyAdd idempotent SQLite connection cleanup +10/-1

Add idempotent SQLite connection cleanup

• Marks the SQLite connection as optional and adds a lock-protected close method. Cleanup suppresses shutdown-time close errors and clears the connection reference to prevent duplicate closure.

connector/app/store.py

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Wizard completion loops forever 🐞 Bug ≡ Correctness
Description
If /setup completes during the native-installer retry sleep, the reloaded wizard has
setup_complete=True, causing _provision_native_installer to return False and the `while not
...` loop to retry indefinitely. The connector remains degraded and never starts monitoring until
restarted.
Code

connector/app/main.py[R313-314]

+        enable_setup_wizard=pending_setup,
+        on_wizard_configured=_on_wizard_configured if pending_setup else None,
Relevance

⭐⭐⭐ High

PRs #4 and #8 prioritized retry-safe provisioning and correcting brittle native-installer setup
flows.

PR-#4
PR-#8

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The newly enabled routes persist setup_complete=True and invoke the callback. However, the retry
loop reloads that completed configuration after sleeping and calls _provision_native_installer
again; the helper explicitly returns False for completed configurations, while the loop interprets
every False as failure and does not inspect wizard_ready.

connector/app/main.py[214-217]
connector/app/main.py[318-325]
connector/app/wizard.py[349-375]
connector/app/admin.py[869-879]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The setup wizard is now available concurrently with the native-installer retry loop. If the wizard completes during the retry delay, `_provision_native_installer` returns `False` for the completed configuration, which the loop interprets as another provisioning failure and repeats indefinitely.

## Issue Context
Treat persisted wizard completion or `wizard_ready` as successful setup and continue into monitoring. Do not rely only on the callback because setup may complete through another path; add coverage for completion during the retry delay.

## Fix Focus Areas
- connector/app/main.py[318-332]
- connector/app/main.py[214-217]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

To customize comments, go to the Qodo configuration screen, or learn more in the docs.

Qodo Logo

Comment thread connector/app/main.py
Comment on lines +313 to +314
enable_setup_wizard=pending_setup,
on_wizard_configured=_on_wizard_configured if pending_setup else None,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Wizard completion loops forever 🐞 Bug ≡ Correctness

If /setup completes during the native-installer retry sleep, the reloaded wizard has
setup_complete=True, causing _provision_native_installer to return False and the `while not
...` loop to retry indefinitely. The connector remains degraded and never starts monitoring until
restarted.
Agent Prompt
## Issue description
The setup wizard is now available concurrently with the native-installer retry loop. If the wizard completes during the retry delay, `_provision_native_installer` returns `False` for the completed configuration, which the loop interprets as another provisioning failure and repeats indefinitely.

## Issue Context
Treat persisted wizard completion or `wizard_ready` as successful setup and continue into monitoring. Do not rely only on the callback because setup may complete through another path; add coverage for completion during the retry delay.

## Fix Focus Areas
- connector/app/main.py[318-332]
- connector/app/main.py[214-217]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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.

1 participant