Skip to content

Lazy load video and everything else - #350

Merged
tylervick merged 1 commit into
XCTestHTMLReport:mainfrom
kevin-brotcke:patch-2
Jan 23, 2024
Merged

tylervick merged 1 commit into
XCTestHTMLReport:mainfrom
kevin-brotcke:patch-2

Conversation

@kevin-brotcke

Copy link
Copy Markdown
Contributor

This is an improvement on my previous change to lazy load screenshots. We were still seeing some images load on initial page load and realized there are other types I could include.

This is a huge performance improvement in my testing. We have a gigantic report that would freeze the browser for 30 seconds and now loads in seconds. Confirmed in network traffic only the main HTML file is downloaded until you start manually expanding sections.

@tylervick
tylervick merged commit 04b4812 into XCTestHTMLReport:main Jan 23, 2024
tothszabi added a commit to bitrise-io/XCTestHTMLReport that referenced this pull request Oct 14, 2024
* Update ci.yaml with xcode 15, 14, 13 and macos-13, replace xcode-select action (XCTestHTMLReport#335)

* Update ci.yaml with xcode 15, 14, 13 and macos-13, replace xcode-select action

* remove xcode 13 from ci since macos-13 builders start with 14

* create iPhone 12

* Update ci.yml

* Update test-artifacts.yml

* Update ci.yml

* Update test-artifacts.yml

* Lazy load screenshots (XCTestHTMLReport#339)

All screenshots are loaded immediately when opening the report even if they aren't in view. When opening a large report hosted remotely containing thousands of screenshots it can take several minutes to load. A quick fix is to enable native image lazy loading which is supported in most popular browsers today.

* Update ci.yml (XCTestHTMLReport#340)

* Update ci.yml

* Create swift.yml (XCTestHTMLReport#341)

* Create swift.yml

* Update and rename swift.yml to test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* fix tests ahead of xcode 15 change (XCTestHTMLReport#342)

* remove xcpretty install step

* Add parallel test processing (XCTestHTMLReport#334)

* Update actions for xcode 15 (XCTestHTMLReport#343)

* Update release.yml

* Update codecov.yml (XCTestHTMLReport#344)

* 2.4.1-pre.ca8c215 version bump (XCTestHTMLReport#345)

Co-authored-by: tylervick <[email protected]>

* bump xcresultkit to use xcresulttool version 22007 (XCTestHTMLReport#346)

* 2.4.1

* Update homebrew-bump.yml

* Lazy load video and everything else (XCTestHTMLReport#350)

Co-authored-by: Kevin Brotcke <[email protected]>

* Support mixed children test types in test suites (XCTestHTMLReport#349)

* Support mixed children test types in test suites

* Add verbose logging for test case and group initialization

* Add XCTestHTMLReportSampleApp build folder to gitignore

---------

Co-authored-by: Kevin Brotcke <[email protected]>
Co-authored-by: Tyler Vick <[email protected]>

* 2.4.2 Version Bump

* 2.4.3-pre.4005e15 version bump (XCTestHTMLReport#352)

Co-authored-by: tylervick <[email protected]>

* replace source of XCResultKit from tylervick/XCResultKit.git to davidahouse/XCResultKit.git (XCTestHTMLReport#359)

* 2.5.1-pre.7bbc8db version bump (XCTestHTMLReport#360)

Co-authored-by: tylervick <[email protected]>

* Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows (XCTestHTMLReport#363)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v2...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix skipped test cases that have no logs  (XCTestHTMLReport#362)

* Add .skipped status to JUnitReport and place the respective tags in the xml output

* Allow testfolder locally

* merge remote branch into local branch

* clean-up

* clean-up

* remove tabs

---------

Co-authored-by: Thomas Maier <[email protected]>
Co-authored-by: tam <[email protected]>
Co-authored-by: merlibird <[email protected]>

* Disable original actions

* Use empy on

* Use manual triggers

* empty to test ci action

* try without xcode select

* use another xcode select

* use xcode version from matrix

* fix param

* add bitrise-release action

* Disable ci for PRs for now

* Update bitrise-release.yml

* Update bitrise-release.yml

* Update bitrise-release.yml

* Fine tune bitrise-release action

* Parallelise test processing

* Remove log tab

* Use lazy loading

* Lazy load with javascript

* Fix

* Refactor screenshots

* Refactor src editing

* Add data-src in template

* Copy src attribute only once

* Fix typo

* Fix paranthesis

* Set 1.0.0 version for bitrise release

* 1.0.1-pre.8512da8 version bump

* Remove archiving from the release flow

* Show failing test tab when there are failing tests

* Fix lazy loading for tail screenshots and videos (#11)

* Update Version.swift

* 1.0.2-pre.c941897 version bump (#14)

Co-authored-by: zsolt-vicze <[email protected]>

* Make src attributes html friendly (#15)

* Release 1.0.2 (#16)

* 1.0.3-pre.95c1ab9 version bump (#17)

Co-authored-by: zsolt-vicze <[email protected]>

* Lazy load videos (#18)

* Release 1.0.3

* 1.0.4-pre.579f509 version bump (#19)

Co-authored-by: zsolt-vicze <[email protected]>

* Disable test job

* Update Version

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Tyler Vick <[email protected]>
Co-authored-by: Kevin Brotcke <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tylervick <[email protected]>
Co-authored-by: Kevin Brotcke <[email protected]>
Co-authored-by: juanitos23 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thoromis <[email protected]>
Co-authored-by: Thomas Maier <[email protected]>
Co-authored-by: tam <[email protected]>
Co-authored-by: merlibird <[email protected]>
Co-authored-by: zsolt-vicze <[email protected]>
Co-authored-by: zsolt-vicze <[email protected]>
Co-authored-by: zsolt-vicze <[email protected]>
tylervick added a commit that referenced this pull request Aug 13, 2026
…of truth (#434) (#452)

* Delete stale HTML/ copy; HTMLTemplates.swift is the template source of truth (#434)

Tyler's ruling on #434: option 1 — delete the stale copy. The HTML/
directory was excluded from the build, 28 diff hunks behind the compiled
templates, and last touched (#350) one day before #349 hand-edited the
"generated" file it supposedly generated.

- Delete Sources/XCTestHTMLReportCore/HTML/ and the Package.swift exclude.
- Replace the false DO NOT EDIT header (createTemplates.sh was deleted in
  #295) with one declaring the file the hand-maintained source of truth.
- Keep both lint exemptions with corrected justifications (see PR).
- Fix .githooks/pre-commit: SwiftLint ignores the config excluded: list
  for explicitly passed paths, so the first-ever staged edit to
  HTMLTemplates.swift failed the hook on rules the config exempts; add
  --force-exclude to match CI behavior.

Zero rendered-output change: only the header comment changed in
HTMLTemplates.swift. Full suite 100/100 (2 pre-existing skips), incl.
DifferentialTests 6/6 and ReproducibilityTests 7/7.

Co-Authored-By: Claude Fable 5 <[email protected]>

* pre-commit: tolerate the all-staged-Swift-files-excluded case (review fix)

When HTMLTemplates.swift is the only staged Swift file, --force-exclude
leaves SwiftLint zero lintable paths and it exits 1 with "No lintable
files found", so the hook still blocked exactly the template-only
commits #434 set out to unblock. Treat that specific outcome as success:
zero lintable files means zero possible violations, so it cannot mask a
real lint failure. Any other nonzero exit still fails the hook.

Verified in a scratch worktree: HTMLTemplates.swift-only staging exits 0;
a staged 259-char-line Swift file still fails (alone and alongside the
excluded file); non-Swift-only staging exits 0. shellcheck clean.

Co-Authored-By: Claude Fable 5 <[email protected]>

---------

Co-authored-by: Claude Fable 5 <[email protected]>
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.

2 participants