René's URL Explorer Experiment


Title: Add `FileSystem` abstraction for testing by mbg · Pull Request #4222 · github/codeql-action · GitHub

Open Graph Title: Add `FileSystem` abstraction for testing by mbg · Pull Request #4222 · github/codeql-action

X Title: Add `FileSystem` abstraction for testing by mbg · Pull Request #4222 · github/codeql-action

Description: Mostly a few cherry-picked commits from #4221 that are not directly related to that PR and more broadly useful. The main change is the addition of the FileSystem type and a corresponding "FS" feature for ActionState that allows us to test functions which rely on the fs module more easily. Risk assessment For internal use only. Please select the risk level of this change: Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only. Which use cases does this change impact? Workflow types: Advanced setup - Impacts users who have custom CodeQL workflows. Managed - Impacts users with dynamic workflows (Default Setup, Code Quality, ...). Products: Code Scanning - The changes impact analyses when analysis-kinds: code-scanning. Code Quality - The changes impact analyses when analysis-kinds: code-quality. Other first-party - The changes impact other first-party analyses. Third-party analyses - The changes affect the upload-sarif action. Environments: Dotcom - Impacts CodeQL workflows on github.com and/or GitHub Enterprise Cloud with Data Residency. GHES - Impacts CodeQL workflows on GitHub Enterprise Server. How did/will you validate this change? Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files). End-to-end tests - I am depending on PR checks (i.e. tests in pr-checks). If something goes wrong after this change is released, what are the mitigation and rollback strategies? Rollback - Change can only be disabled by rolling back the release or releasing a new version with a fix. How will you know if something goes wrong after this change is released? Telemetry - I rely on existing telemetry or have made changes to the telemetry. Dashboards - I will watch relevant dashboards for issues after the release. Consider whether this requires this change to be released at a particular time rather than as part of a regular release. Alerts - New or existing monitors will trip if something goes wrong with this change. Are there any special considerations for merging or releasing this change? No special considerations - This change can be merged at any time. Merge / deployment checklist Confirm this change is backwards compatible with existing workflows. Consider adding a changelog entry for this change. Confirm the readme and docs have been updated if necessary.

Open Graph Description: Mostly a few cherry-picked commits from #4221 that are not directly related to that PR and more broadly useful. The main change is the addition of the FileSystem type and a corresponding "FS&q...

X Description: Mostly a few cherry-picked commits from #4221 that are not directly related to that PR and more broadly useful. The main change is the addition of the FileSystem type and a corresponding "...

Opengraph URL: https://github.com/github/codeql-action/pull/4222

X: @github

direct link

Domain: github.com

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:9cd0835a-0d89-c5d7-b479-6a0ec0997f40
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idBB6C:3F64F:767D5E:99C448:6AED31E0
html-safe-nonceb34f3feb280ad916f3808c187f3160141b024f6c0badc282e7594cbc5312cf33
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQjZDOjNGNjRGOjc2N0Q1RTo5OUM0NDg6NkFFRDMxRTAiLCJ2aXNpdG9yX2lkIjoiNzM1MzcxMjA2MTA0MjIwOTI0OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac4e6b5b0faa4fe52b90c3cc1d99828404b9b1916b783c09d86d92e1a624c5868e
hovercard-subject-tagpull_request:4806437863
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/github/codeql-action/pull/4222/files
twitter:imagehttps://avatars.githubusercontent.com/u/278086?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/278086?s=400&v=4
og:image:altMostly a few cherry-picked commits from #4221 that are not directly related to that PR and more broadly useful. The main change is the addition of the FileSystem type and a corresponding "FS&q...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Nonee51d0b7b5ab34b1688c05b54c3ed17b8658b2fa9bca973a9c740683ccb12cf4a
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/github/codeql-action git https://github.com/github/codeql-action.git
octolytics-dimension-user_id9919
octolytics-dimension-user_logingithub
octolytics-dimension-repository_id259445878
octolytics-dimension-repository_nwogithub/codeql-action
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id259445878
octolytics-dimension-repository_network_root_nwogithub/codeql-action
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release59ebb7b901cc154ecc179a44f266fcf69f343b30
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/github/codeql-action/pull/4222/files#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgithub%2Fcodeql-action%2Fpull%2F4222%2Ffiles
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgithub%2Fcodeql-action%2Fpull%2F4222%2Ffiles
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=github%2Fcodeql-action
Reloadhttps://github.com/github/codeql-action/pull/4222/files
Reloadhttps://github.com/github/codeql-action/pull/4222/files
Reloadhttps://github.com/github/codeql-action/pull/4222/files
githubhttps://github.com/github
codeql-actionhttps://github.com/github/codeql-action
Codehttps://github.com/github/codeql-action
Issues165 (165)https://github.com/github/codeql-action/issues
Pull requests41 (41)https://github.com/github/codeql-action/pulls
Actionshttps://github.com/github/codeql-action/actions
Security and quality2 (2)https://github.com/github/codeql-action/security
Insightshttps://github.com/github/codeql-action/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgithub%2Fcodeql-action%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgithub%2Fcodeql-action%2Fissues%2Fnew%2Fchoose
mbghttps://github.com/mbg
mainhttps://github.com/github/codeql-action/tree/main
mbg/fs-abstractionhttps://github.com/github/codeql-action/tree/mbg/fs-abstraction
Conversation 2 https://github.com/github/codeql-action/pull/4222
Commits 6 https://github.com/github/codeql-action/pull/4222/commits
Checks 233 https://github.com/github/codeql-action/pull/4222/checks
Files changed https://github.com/github/codeql-action/pull/4222/files
Please reload this pagehttps://github.com/github/codeql-action/pull/4222/files
Add FileSystem abstraction for testing https://github.com/github/codeql-action/pull/4222/files#top
Show all changes 6 commits https://github.com/github/codeql-action/pull/4222/files
859c056 Add `osRelease` to `BaseState` mbg Oct 9, 2026 https://github.com/github/codeql-action/pull/4222/commits/859c0566b6c46cb8740fc440ff8305da35a0fc01
0bd54b0 Make `getCodeQLForCmd` use `Env` mbg Oct 9, 2026 https://github.com/github/codeql-action/pull/4222/commits/0bd54b0720da6e460898b3efb0ee47c588154485
2907608 Add `fs.ts` to abstract over `fs` mbg Oct 9, 2026 https://github.com/github/codeql-action/pull/4222/commits/290760874edc30f4d46d1ca02c0cb5947a2dec3a
e6f5465 Add `FS` state feature mbg Oct 9, 2026 https://github.com/github/codeql-action/pull/4222/commits/e6f5465b76a301eacd33cb8062269322a3b6bbb7
149926c Make `FS` available to `init` mbg Oct 9, 2026 https://github.com/github/codeql-action/pull/4222/commits/149926c8cdc1fe206f7ef5e8cb5482012f5ba575
d9f462b Merge remote-tracking branch 'origin/main' into mbg/fs-abstraction mbg Oct 12, 2026 https://github.com/github/codeql-action/pull/4222/commits/d9f462b9332091f644d2bdabce6346870857d075
Clear filters https://github.com/github/codeql-action/pull/4222/files
Please reload this pagehttps://github.com/github/codeql-action/pull/4222/files
Please reload this pagehttps://github.com/github/codeql-action/pull/4222/files
entry-points.js https://github.com/github/codeql-action/pull/4222/files#diff-73697317a7dd14441dcfb24bc586f637ae2b815b5e503a05a81816be74fcd815
action-common.ts https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
actions-util.ts https://github.com/github/codeql-action/pull/4222/files#diff-272a83a2815879238f61d8c6a4358a34cf98138946d7e7e950851282d8ca0b7d
output-cache.ts https://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
codeql.ts https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
fs.ts https://github.com/github/codeql-action/pull/4222/files#diff-0ae6196489e6b091dd2a543075ae337519dd650b065bc569b5f76da07105c50a
init-action.ts https://github.com/github/codeql-action/pull/4222/files#diff-87bf9e0a2a9244ba1f26eb01d404deaccbc9580479d2e2530a4ff2fd5bd91565
testing-utils.ts https://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
lib/entry-points.jshttps://github.com/github/codeql-action/pull/4222/files#diff-73697317a7dd14441dcfb24bc586f637ae2b815b5e503a05a81816be74fcd815
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/lib/entry-points.js
Open in desktop https://desktop.github.com
Please reload this pagehttps://github.com/github/codeql-action/pull/4222/files
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/action-common.tshttps://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/action-common.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/pull/4222/files#diff-ae4bdfbe2de7fb868f4c7100e281e16a6c7acda72bc8315c860602bd12f2a2d0
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/actions-util.tshttps://github.com/github/codeql-action/pull/4222/files#diff-272a83a2815879238f61d8c6a4358a34cf98138946d7e7e950851282d8ca0b7d
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/actions-util.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-272a83a2815879238f61d8c6a4358a34cf98138946d7e7e950851282d8ca0b7d
https://github.com/github/codeql-action/pull/4222/files#diff-272a83a2815879238f61d8c6a4358a34cf98138946d7e7e950851282d8ca0b7d
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/cli/output-cache.tshttps://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/cli/output-cache.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
https://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
https://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
https://github.com/github/codeql-action/pull/4222/files#diff-1da25bf67e8e047dbb84783778ba7c946308597fd8f0c7841df204d98509434f
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/codeql.tshttps://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/codeql.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/pull/4222/files#diff-473ad8cf33ad034dc4f9ae468a3ce5d87106ace4f96f6a23a000261d46efaa60
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/fs.tshttps://github.com/github/codeql-action/pull/4222/files#diff-0ae6196489e6b091dd2a543075ae337519dd650b065bc569b5f76da07105c50a
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/fs.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/init-action.tshttps://github.com/github/codeql-action/pull/4222/files#diff-87bf9e0a2a9244ba1f26eb01d404deaccbc9580479d2e2530a4ff2fd5bd91565
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/init-action.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-87bf9e0a2a9244ba1f26eb01d404deaccbc9580479d2e2530a4ff2fd5bd91565
https://github.com/github/codeql-action/pull/4222/files#diff-87bf9e0a2a9244ba1f26eb01d404deaccbc9580479d2e2530a4ff2fd5bd91565
https://github.com/github/codeql-action/blob/main/CODEOWNERS#L1
src/testing-utils.tshttps://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
View file https://github.com/github/codeql-action/blob/d9f462b9332091f644d2bdabce6346870857d075/src/testing-utils.ts
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/github/codeql-action/pull/4222/{{ revealButtonHref }}
https://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
https://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
https://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
https://github.com/github/codeql-action/pull/4222/files#diff-b5e75f890eca9e7fbfff472427b39ce0f5628833109b50e7b2d165729bd8c124
Please reload this pagehttps://github.com/github/codeql-action/pull/4222/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.