Skip to content

CI, tests, and Stories architecture refactor - #1

Merged
dimzfresh merged 2 commits into
mainfrom
feature/ci-tests-and-refactor
May 26, 2026
Merged

CI, tests, and Stories architecture refactor#1
dimzfresh merged 2 commits into
mainfrom
feature/ci-tests-and-refactor

Conversation

@dimzfresh

@dimzfresh dimzfresh commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add GitHub Actions CI (iOS simulator tests + SwiftLint), pre-commit hook, and dev scripts (run-tests.sh, run-swiftlint.sh, install-git-hooks.sh)
  • Add StoriesKitTests with coverage for ViewModel navigation, group sorting, video manager, and view-state mapping
  • Refactor playback: StoriesProgressModel + TimelineView progress bar, StoriesVideoManager, split ViewModel into focused extensions, extract progress bar views and StoriesViewStateMapper
  • Fix group navigation by freezing session order (sessionGroupIDs) so next/previous stays correct after pages are marked viewed
  • Improve demo app: theme, link button, video page, refactored StoriesFactory

Test plan

  • ./Scripts/run-swiftlint.sh lint — 0 violations
  • ./Scripts/run-tests.sh — 25 tests pass
  • Open StoriesExample → swipe through Justin Bieber → video → next group → previous (should return to Justin, not skip)
  • Verify CI passes on GitHub Actions

dimzfresh and others added 2 commits May 26, 2026 23:42
Introduce GitHub Actions with SwiftLint and iOS simulator tests, pre-commit hooks, StoriesProgressModel with TimelineView progress, StoriesVideoManager, ViewModel split, stable session group order for navigation, and StoriesKitTests coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use modern Task.sleep API, drop unused pattern binding, and isolate video manager access on MainActor in player observer closures.

Co-authored-by: Cursor <cursoragent@cursor.com>
@dimzfresh
dimzfresh merged commit 0f5cb72 into main May 26, 2026
1 check passed
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