Commit graph

70 commits

Author SHA1 Message Date
ThatGuySam
d026a5420b fix(scanner): rename plist parser module to avoid CI cycle false positive
Some checks failed
Deploy to Cloudflare Workers with Wrangler / Deploy (push) Has been cancelled
Run Node 24 Checks / build (24.x) (push) Has been cancelled
Madge treated the local plist parser module name as a circular dependency during the Netlify build lane after the TypeScript refactor. Rename the local module to plist-parser so the internal file no longer collides with the external plist package name, while keeping parser behavior unchanged.

Constraint: Must restore the deploy gate without changing parser semantics
Rejected: Disable the circular-dependency check | would hide a useful guard instead of fixing the naming conflict that triggered it
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Avoid naming local modules after direct external package imports when the repo relies on static dependency graph tooling
Tested: pnpm run typecheck; pnpm exec vitest run test/scanner/plist.test.ts test/scanner/file-api.test.ts test/scanner/client.test.ts test/prebuild/load-sitemap-endpoints.test.ts; pnpm run test-prebuild
Not-tested: Full production deploy completion before push
2026-04-04 18:31:46 -05:00
ThatGuySam
cd41143f0d refactor(scanner): type plist and file-api helpers
Convert the scanner's plist parser and Node-style file shim to TypeScript and add small unit tests so common parser and file-reader failures are caught before we need to lean on Playwright or the higher-level scanner test.

Constraint: Must preserve current scanner behavior while tightening the lowest-level helper surface
Rejected: Jump straight to Mach-O parser conversion | harder to isolate regressions without first proving the smaller helper-test pattern
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Add small module-level regression tests for repeatable scanner breakage before expanding browser coverage
Tested: pnpm run typecheck; pnpm exec vitest run test/scanner/plist.test.ts test/scanner/file-api.test.ts test/scanner/client.test.ts; pnpm run test; pnpm run test:browser
Not-tested: Production deploy behavior prior to push
2026-04-04 18:13:32 -05:00
ThatGuySam
689fc0d13d refactor(scanner): type the worker path and align app-test results
Move the worker scanner surface into TypeScript, add a direct worker regression, and make the version=2 app-test path populate the same visible result data and final status as the legacy scanner. This keeps the refactor bounded while making the worker route safe to exercise.

Constraint: Must preserve the existing Apple Silicon app-test behavior while changing the worker internals
Rejected: Flip production to the worker path immediately | still needs the normal deploy path and broader production soak
Confidence: medium
Scope-risk: moderate
Reversibility: clean
Directive: Keep the version=2 adapter using the shared finishFileScan path until the legacy scanner can be removed entirely
Tested: pnpm run typecheck; pnpm exec vitest run test/scanner/client.test.ts; pnpm run test:browser (original workspace); netlify build --context deploy-preview (original workspace)
Not-tested: Browser suite from the clean clone environment (local Astro dev server startup timed out there)
2026-04-04 14:58:25 -05:00
Sam Carlton
9c6a4628be Load file directly into fileLoader 2022-08-21 08:46:43 -05:00
Sam Carlton
16fdd159a9 Add getArrayBufferFromFileData function 2022-08-21 08:45:55 -05:00
Sam Carlton
e5b3ba3d9e Trim readFile error message 2022-08-21 08:45:04 -05:00
Sam Carlton
fa156c3733 Use getZipFileReader on readFileBlob 2022-08-21 08:44:36 -05:00
Sam Carlton
ff8e07e11a Add getZipFileReader method 2022-08-21 08:43:04 -05:00
Sam Carlton
3f238dfd4e Add loadFile method 2022-08-21 08:42:32 -05:00
Sam Carlton
c883fe85d6 Message extraction start 2022-08-20 22:38:15 -05:00
Sam Carlton
6d0fafd041 Throw for falsy fileArrayBuffer 2022-08-20 21:35:57 -05:00
Sam Carlton
0cfb9efe29 Catch zipReader errors 2022-08-20 21:35:26 -05:00
Sam Carlton
ada3aec3f6 Make worker self.onmessage into classic function 2022-08-20 21:35:02 -05:00
Sam Carlton
8b15f2580b Pass all message details through receivers 2022-08-20 21:34:29 -05:00
Sam Carlton
9e1a7c0158 Fix scan page not receiving v2 messages 2022-08-07 16:07:01 -05:00
Sam Carlton
c79603b361 Fix scan not receiving from Worker 2022-08-07 16:06:26 -05:00
Sam Carlton
6b08545081 Fix data not transferring into Worker 2022-08-07 16:05:43 -05:00
Sam Carlton
f73635de08 Make scan finish verbiage more consistent 2022-08-07 16:03:47 -05:00
Sam Carlton
6de839a6d6 Make scan imports relative for Worker compat 2022-08-07 15:13:56 -05:00
Sam Carlton
d37603fcd5 Move scan business login into scan file 2022-08-07 14:33:58 -05:00
Sam Carlton
f82e47c4b6 Put scan steps into single method 2022-08-07 14:19:40 -05:00
Sam Carlton
9ec294c629 Remove undefined arg 2022-08-07 14:18:14 -05:00
Sam Carlton
e3af5f7bb8 Add Scan Worker 2022-08-07 14:18:00 -05:00
Sam Carlton
e008ad7ddf Reenable MachoNode 2022-07-27 21:25:36 -05:00
Sam Carlton
3be1dd52a7 Try importing buffer index
# Conflicts:
#	helpers/scanner/client.mjs
2022-07-26 23:25:27 -05:00
Sam Carlton
3ee6a8c13e Remove big int import 2022-07-26 21:31:51 -05:00
Sam Carlton
df266d7760 Use native BigInt
# Conflicts:
#	helpers/scanner/parsers/plist.js
2022-07-26 21:28:44 -05:00
Sam Carlton
0d50f7a70a Wrap scan steps in try catch 2022-07-22 12:19:55 -05:00
Sam Carlton
f717f4bf22 Import parseMacho normally 2022-07-22 00:07:35 -05:00
Sam Carlton
65692733f2 Try disabling MachoNode 2022-07-21 22:47:02 -05:00
Sam Carlton
07ee8760b5 Rebuild endian-reader as class 2022-07-21 22:42:26 -05:00
Sam Carlton
4004ac2002 Use standard import for zip.js 2022-07-21 21:57:20 -05:00
Sam Carlton
ca58913ccc Convertr scanner client to mjs 2022-07-21 21:52:12 -05:00
Sam Carlton
01d0ba8dbf Fix missing function 2022-07-21 21:47:38 -05:00
Sam Carlton
f499b3eecb Log parser start 2022-07-21 21:31:21 -05:00
Sam Carlton
62a5b430e1 Continue on parser fail 2022-07-21 21:31:14 -05:00
Sam Carlton
d7112ae322 FIx File proccessing for Browser and Node 2022-07-21 21:30:50 -05:00
Sam Carlton
7f9d891ab7 Import MachoManic Magics to determine bits 2022-07-21 21:17:45 -05:00
Sam Carlton
127c37c52e Use Buffer directly for macho parser 2022-07-21 20:28:14 -05:00
Sam Carlton
d17ec1c23b Import Buffer directly 2022-07-21 19:54:54 -05:00
Sam Carlton
44eef3d075 Switch back to imported buffer 2022-07-21 19:52:32 -05:00
Sam Carlton
fae37c476b Add context to FileBlob 2022-07-21 18:47:34 -05:00
Sam Carlton
e161af18cf Trim error messages 2022-07-19 22:27:49 -05:00
Sam Carlton
c04da29933 User local MachoNode 2022-07-19 22:27:37 -05:00
Sam Carlton
5bce0c5dc3 Move makeFileBuffer logic to function 2022-07-19 22:26:19 -05:00
Sam Carlton
15ddc6c4b8 Add MachoNode locally 2022-07-19 22:24:49 -05:00
Sam Carlton
e2380f519f Use local FileApi 2022-07-19 21:38:07 -05:00
Sam Carlton
e61f9e7233 Match main executable both ways 2022-07-19 21:35:05 -05:00
Sam Carlton
3eb703ba2f Revert FileInstance.arrayBuffer to node style 2022-07-19 21:33:38 -05:00
Sam Carlton
2cf8cc45ba Add FileApi FileReader 2022-07-19 21:24:30 -05:00