Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
This repository remains a single Vite + React codebase for desktop web, mobile web/PWA, and Capacitor native wrappers.
• Capacitor dependency wiring in package.json
• Capacitor config in capacitor.config.ts (uses Vite dist/ output)
• Scripts to add/sync/open Android and iOS projects (all via npx --no-install cap so no global cap binary is required and commands only use the local CLI install)
• Safe platform detection helpers in src/platform/runtime.ts
No desktop layout/navigation/business-logic rewrite is included.
Source integrity safeguards (code generation / patch pipeline)README 전문 보기 ↗This repository remains a single Vite + React codebase for desktop web, mobile web/PWA, and Capacitor native wrappers.
package.jsoncapacitor.config.ts (uses Vite dist/ output)npx --no-install cap so no global cap binary is required and commands only use the local CLI install)src/platform/runtime.tsNo desktop layout/navigation/business-logic rewrite is included.
npm install
npm run dev
npm run build
npm run preview
npm run guard:generated -- <file...> validates .ts/.tsx/.js/.jsx files for:
"The user is", "I need to", "continue where", "previous response")scripts/safe-source-write.mjs performs the same validation before writing content to a source file; if parsing/sanitization fails it aborts the write.npm run build now enforces TypeScript preflight (tsc --noEmit) before vite build.npm run guard:precommit validates staged source files, and when critical UI files are staged (src/pages/OrdersPage.tsx, src/pages/MerchantsPage.tsx, src/components/*) it also runs:
npm run typechecknpm run build:dry-runCreate native projects once:
npm run cap:add:android
npm run cap:add:ios
Sync web build into native projects:
npm run cap:sync
Open native IDE projects:
npm run cap:android
npm run cap:ios
@capacitor/* packages).Use src/platform/runtime.ts utilities for guarded checks:
isNativeApp()isAndroid()isIOS()isWebBrowser()Keep native-only behavior behind these checks so browser desktop remains unaffected.
Once a user is signed in on a mobile browser (iOS or Android), a blocking install
gate appears — the app must be installed before it can be used on a phone or tablet. The
policy lives in src/platform/install-gate.ts and is rendered by
src/components/shared/MobileInstallPrompt.tsx:
intent://…;package=com.android.chrome link, which
installs a real WebAPK. Desktop Edge installs a proper app window and is unaffected.Inside a normal browser tab display-mode is always browser, even when the app is
installed — so standalone detection alone reports "not installed" forever. The gate also
calls navigator.getInstalledRelatedApps(), which needs related_applications in the
manifest (declared in vite.config.ts, pointing at the production origin). Override the
origin per environment with PWA_ORIGIN=https://your-domain at build time, otherwise the
call cannot match and detection silently falls back to standalone-only.
Detection runs on mount, on tab focus, and on the "I've installed it — recheck" button.
isInstalledPwa() accepts standalone, minimal-ui, fullscreen and
window-controls-overlay display modes, iOS navigator.standalone, and the
android-app:// referrer set by WebAPK launches — a plain shortcut matches none of these,
which is exactly the distinction that keeps shortcuts from passing as installs.
Set VITE_FORCE_MOBILE_INSTALL=false at build time to fall back to the soft prompt on
mobile (kill switch for fleets on browsers that cannot install a PWA). Append
?pwa_debug=1 to any URL to see the resolved gate state.
Run these commands in order to validate native pipeline readiness:
npm run build
test -f dist/index.html
npx cap sync
If platform folders are missing, generate them once:
Note: Native
android/andios/projects are generated locally via Capacitor commands and are not committed to this repository to avoid binary artifacts in PRs.
npx cap add android
npx cap add ios
For this app's auth to work reliably across web + Capacitor Android, configure all of these redirect URLs in your Supabase Auth settings (and any provider allow-list if required):
https://<your-production-domain>/auth/callbackhttp://localhost:5173/auth/callbackhttp://localhost:5173/reset-passwordcom.taheito26sys.corerefactorinitiative://login-callbackcom.taheito26sys.corerefactorinitiative://reset-password-callbackImplementation notes:
/auth/callback, /reset-password).com.taheito26sys.corerefactorinitiative://...).AndroidManifest.xml intent filters and routes back into the SPA callback routes.