Repository navigation
Add integration readiness status indicators (#4) - #5
Merged
99proteam merged 2 commits intoSep 16, 2026
Merged
Conversation
- Add GET /api/settings/status endpoint (booleans only, no secrets exposed) - Add dashboard Integration Readiness card with configured/not-configured badges - Link missing integrations to their settings tab - Add defensive error handling in aiService.js for invalid settings.json - Add tests/integration-status.test.js
99proteam
requested changes
Sep 13, 2026
99proteam
left a comment
Owner
There was a problem hiding this comment.
Thanks for the contribution. The overall idea is useful, but please address these issues before merging:
- Revert all changes to data/settings.json. Example SMTP credentials must not be committed, and they currently make SMTP incorrectly appear configured.
- Move the Integration Readiness card inside #pageDashboard; currently it appears outside the dashboard section and may remain visible on every page.
- Fix the AI “Configure” link. It opens the API Keys tab, but that tab has no AI configuration field.
- Add CSS for integration-status-list and integration-badge instead of leaving the new component unstyled.
- Add functional tests for /api/settings/status and the Configure buttons. The current tests only search the source files and do not verify actual behavior.
- Please keep unrelated changes out of this pull request and format the modified code consistently.
Once updated, please comment here and I will review it again.
…ashboard, fix AI configure link, add CSS, add functional tests
Contributor
Author
|
Thanks for the detailed review! I've addressed all the points:
All tests pass locally ( |
Contributor
Author
|
"Hi @99proteam, just following up — I've addressed all the review comments and the workflow is awaiting your approval whenever you get a chance. Let me know if anything else needs changes!" |
Owner
|
Thanks for the contribution! Your changes have been reviewed, tested, and successfully merged. Appreciate your work on this improvement. 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #4
Changes
GET /api/settings/statusendpoint — returns configured/not-configured boolean per integration (proxy, smtp, twilio, zerobounce, ai). Never exposes actual secret values.services/aiService.jsso a malformed settings.json no longer crashes the server.Tests
tests/integration-status.test.js(2 tests) — verifies the status route never echoes raw settings, and that the dashboard has the required container + render function.npm testManual verification
/api/settings/statusresponse — confirmed no password/API key values present, only booleans.Screenshots