Skip to content

fix: compilable Config setup, tested ScreenTimeCore package, CI, README from code - #1

Open
bluzername wants to merge 1 commit into
mainfrom
modernize
Open

bluzername wants to merge 1 commit into
mainfrom
modernize

Conversation

@bluzername

Copy link
Copy Markdown
Owner

What changed

  • Duplicate enum Config removed from both Xcode projects. ScreenTimeParent.xcodeproj and ScreenTimeChild.xcodeproj both listed Config.swift and Config-Template.swift as compile sources, so neither app could build. The template stays in the project group but is no longer a build source.
  • Config.swift is now per-developer: removed from HEAD (it contained only placeholders) and git-ignored; cp Config-Template.swift Config.swift documented in the README.
  • ios-parent/Package.swift fixed. It declared a ScreenTimeParentTests target at a path that did not exist. It now defines ScreenTimeCore (the Foundation-only Shared/Models and Validators.swift) with a real XCTest suite in ios-parent/Tests/ScreenTimeCoreTests (13 tests: email, password, name, invite code, sanitizer).
  • Session artifacts deleted: COMPLETION_SUMMARY.md, PROJECT_SUMMARY.md, docs/WEEK_1-3_COMPLETION_SUMMARY.md, docs/WEEK_1-3_IMPROVEMENTS.md.
  • .github/dependabot.yml (swift, gradle for both Android apps, github-actions, weekly) and .github/workflows/ci.yml (swift build + swift test on macOS, plus swiftc -typecheck of both Config templates).
  • README rewritten from the code: the Android parent and child ports were undocumented; the Config flow, the tested surface and the known Realtime API issue are now stated.
  • yourusername placeholder URLs replaced in docs/GETTING_STARTED.md, ios-parent/README.md, ios-child/README.md.

Verified

  • cd ios-parent && swift build: Build complete.
  • cd ios-parent && swift test: Executed 13 tests, 0 failures.
  • xcrun swiftc -typecheck on both Config-Template.swift files: ok.
  • xcodebuild -scheme ScreenTimeParent -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build: BUILD FAILED, 16 errors, all in Shared/Networking/{AuthRepository,SupabaseClient,RealtimeManager}.swift. The duplicate-Config errors are gone; what remains is pre-existing: the code targets an older supabase-swift Realtime API (RealtimeChannel.postgresChange, RealtimeClient.removeChannel) while the project resolves supabase-swift 2.55 (from: "2.0.0").

Skipped

  • Porting RealtimeManager to RealtimeChannelV2 or pinning supabase-swift to the minor it was written for (L). Realtime is off by default (polling), but the app still needs this to compile. The README's Known issues section records it.
  • The child app was not built (needs the Family Controls entitlement and a device); its project only had the duplicate-Config fix.
  • Android apps are not built in CI (no Gradle wrapper jar committed).

…ME from code

- Both Xcode projects compiled Config.swift and Config-Template.swift, two
  definitions of enum Config; the template is no longer a build source
- Config.swift is per-developer: removed from HEAD and gitignored, copy from
  Config-Template.swift (README documents it)
- ios-parent/Package.swift pointed at a test target path that did not exist;
  it now defines ScreenTimeCore (Models + Validators, Foundation only) with
  an XCTest suite so swift build and swift test work without Xcode
- Remove session artifacts: COMPLETION_SUMMARY.md, PROJECT_SUMMARY.md,
  docs/WEEK_1-3_*.md
- Dependabot (swift, gradle x2, github-actions) and CI (swift build/test on
  macOS, typecheck of both Config templates)
- README rewritten: documents the Android ports, the untracked Config.swift
  flow and the known supabase-swift Realtime API mismatch in the parent app
- Replace yourusername placeholders with the real repository URL
@bluzername
bluzername changed the base branch from claude/parental-control-app-mvp-01FNBERWPGLVyjyNpsthbRRD to main September 17, 2026 17:00
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