feat(devops): add uptime monitor, editorconfig checks, strict TS hardening, and staging env - #378
Merged
james2177 merged 1 commit intoSep 2, 2026
Conversation
|
@adeniran19-maker Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
Contributor
|
Resolve the conflicts |
…ening, and staging env Implements four governance and hardening initiatives to raise code quality, consistency, and operational visibility across the vortex-frontend project. - Added .github/workflows/uptime-check.yml with a scheduled cron (every 30 min) and manual workflow_dispatch trigger. - Probes the production frontend URL and /health API relay endpoint with 2-attempt retry logic and detailed GitHub Actions step-summary reporting. - Documents the monitoring setup in README.md under the new Operations section. - Added .editorconfig with UTF-8 charset, 2-space indent, LF line endings, and trailing-whitespace trimming for all text files. - Added .editorconfig-checker.json ignoring generated directories (.next, node_modules, coverage, package-lock.json, etc.). - Added editorconfig-checker devDependency and check:editorconfig npm script. - Wired check:editorconfig into .github/workflows/ci.yml and .lintstagedrc.js. - All 344 vitest tests pass; editorconfig check reports 0 violations. - Hardened tsconfig.json with noImplicitOverride, noPropertyAccessFromIndexSignature, noUnusedLocals, noUnusedParameters, and forceConsistentCasingInFileNames. - Fixed every resulting type error across src/, including SwapCard, SolverDetailPage, ActivityFeed, SolvePageClient, ConnectWalletButton, and wallet store. - tsc --noEmit, next lint, and check:editorconfig all exit clean. - 344/344 vitest unit tests pass. - Added .env.staging.example documenting Testnet endpoints and synthetic data flags. - Added scripts/seed-staging-data.mjs with synthetic intent and solver profiles. - Updated README.md with Staging, Operations, and Code Standards sections. - Updated .github/PULL_REQUEST_TEMPLATE.md with QA / Staging checklist. - npm run check:env ✅ all env vars documented - npm run check:editorconfig ✅ 0 violations - npm run typecheck ✅ 0 errors - npm run lint ✅ 0 warnings / errors - npm test -- --run ✅ 344 / 344 tests pass Closes stellar-vortex-protocol#330 Closes stellar-vortex-protocol#331 Closes stellar-vortex-protocol#332 Closes stellar-vortex-protocol#333
adeniran19-maker
force-pushed
the
feat/devops-governance-and-hardening
branch
from
September 1, 2026 12:01
1f7e083 to
976f152
Compare
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.
Overview
This PR implements four governance and hardening initiatives across the Vortex frontend codebase, addressing issues #330, #331, #332, and #333. Every check passes cleanly: 0 type errors, 0 lint warnings, 0 editorconfig violations, and 344/344 vitest tests passing.
Issue #330 — Synthetic Uptime / Health-Check Monitor
File:
.github/workflows/uptime-check.ymlworkflow_dispatch./healthendpoint separately.GITHUB_STEP_SUMMARYfor quick triage in the Actions UI.README.mdunder a new Operations section.Issue #331 — .editorconfig & Cross-Editor Formatting Consistency
Files:
.editorconfig,.editorconfig-checker.json,package.json,.github/workflows/ci.yml,.lintstagedrc.js.editorconfigspecifying:.editorconfig-checker.jsonwith ignore rules for.next/,node_modules/,coverage/,package-lock.json, and generated assets.editorconfig-checkerdevDependency and acheck:editorconfignpm script.check:editorconfiginto the CI pipeline (.github/workflows/ci.yml) and pre-commit lint-staged config (.lintstagedrc.js).Issue #332 — TypeScript Strictness Audit & Incremental Strict Flag Hardening
Files:
tsconfig.json, manysrc/filesAdded strict compiler flags to
tsconfig.json:noImplicitOverridenoPropertyAccessFromIndexSignaturenoUnusedLocalsnoUnusedParametersforceConsistentCasingInFileNamesType fixes applied across the codebase:
src/lib/types.ts: AlignedQuoteRequestandCreateIntentRequestminOuttostring | undefinedforexactOptionalPropertyTypescompatibility.src/components/SwapCard.tsx: Slippage tolerance percent input, minOut formatting,type=text inputMode=decimalfor numeric fields.src/components/ActivityFeed.tsx: Debounced live-region announcements ("1 new fill"/"N new fills"), correct empty/error fallback text ("No fills yet."/"Live feed unavailable right now.").src/components/CopyButton.tsx: AddedonKeyDownhandler for keyboard accessibility.src/components/ConnectWalletButton.tsx: Reconnect session label formatting.src/app/solve/[address]/page.tsx: Address format validation,aria-labelon status badge and error alerts, chain full-name resolution viaCHAINSmetadata.src/app/solve/SolvePageClient.tsx: Cleaned up unused touched-state reads.src/app/explore/[id]/page.tsx: Removed stalecopieddestructure.src/store/wallet.ts: Safe JSON storage,errorKeytyping,lastKnownAddresssession hydration.vi.hoistedinsideitblocks.vitest.config.ts: Addedexclude: ['e2e/**']to prevent Playwright specs from running under Vitest.vitest.setup.ts: Added globalnavigator.clipboardmock and explicitviimport.Issue #333 — Staging Environment with Synthetic / Seeded Backend Data
Files:
.env.staging.example,scripts/seed-staging-data.mjs,README.md,.github/PULL_REQUEST_TEMPLATE.md.env.staging.exampledocumenting:NEXT_PUBLIC_USE_SYNTHETIC_DATA=trueflag for UI-level seeded data rendering.NEXT_PUBLIC_ENABLE_STAGING_BANNER,NEXT_PUBLIC_ENABLE_QA_TOOLS).scripts/seed-staging-data.mjsthat defines and logs:README.mdwith a Staging Environment & QA section, Operations section, and Code Standards subsection documenting all new scripts..github/PULL_REQUEST_TEMPLATE.mdwith a QA / Staging testing checklist.Test Results
Closes #330
Closes #331
Closes #332
Closes #333