Repository navigation
Fix security scan findings, review web tree, fix accessibility of the 1.0 views - #21
Merged
Merged
Conversation
…eOver At the largest accessibility text size, History's metadata collapsed into one-character columns and a staged file row pushed Send wider than the screen. History now stacks its row and Send scrolls, with its padding inside the scroll view so the Send as link switch is not clipped. FileRow puts the size under the name, and Add Files and Add Folder stack when they do not fit. VoiceOver: field errors and footnotes are hints on their controls, disabled controls say why, and results and the menu-bar clipboard notice are announced. The menu-bar progress reads a percent and a direction, History reads Sent or Received and a status title, and decorative icons and spinners are hidden. An invalid code is explained in words, small text buttons on Receive get 44 pt targets on iOS, and the number pad gets a Done button. known-issues.md: the Inspector and VoiceOver audit stays an owner step, with the full view list, and the two findings not fixed (the 38 pt paste button, fixed-size glyphs) are recorded.
… size overflow A picked file named with '*' was expanded by croc's filepath.Glob, so a send also leaked every matching file beside it. Picked paths are now escaped and match only themselves. After a manual accept, crocmobile queued "y" answers for the unzip and empty-folder prompts. croc v11 re-runs the accept prompt after a reconnect, so a sender could get an unseen file list accepted with Overwrite. Only "n" is queued now: Replace still overwrites files, but keeps existing members of a zipped folder, and a reconnect after a manual accept ends as refused. A path containing a line break split into extra send paths across the bridge, and the Go side trimmed each path, so "report.pdf " sent "report.pdf". CrocEngine refuses line breaks, the Go side splits without trimming, and received or shared names with control characters are unsafe. Sender-declared sizes could overflow the progress sums and trap the app. Every reported size and sum is capped at 1 PiB.
The scan of a7a87cf left out web/. A read-only review found no injection sink and no High finding. The receive-link page no longer calls the code encrypted, and both docs pages say the browser path sends it to getcroc.com in a query string. The other findings are in known-issues.md.
…e v7.0.0 commit codeload and the API tarball return 404 for the v7.0.0 (b7ad1da) and v6.5.0 commits, so the macOS and interop jobs fail in Set up job. The v6.4.0 commit downloads.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
CrocApp stalled at v0.9.9. This PR (P14 of the 1.0 plan) is the security and accessibility pass: fix the findings of the whole-repo security scan, review the
web/tree, and make the 1.0 views hold up at large text sizes and under VoiceOver.Requirements
claude-securityscan findings fixed (glob escaping, queued answers, path splitting, size overflow);web/tree reviewed by a subagent (findings W1-W10), W2 fixed (/r/page no longer claims end-to-end encryption), the rest recorded indocs/known-issues.md.FileRow,SendView,ReceiveView,AdvancedSettingsView,TransferStatusView, others).Plan deviations
web/review was done by a subagent, not a secondclaude-securitysession (R11 names no tool). The owner may run a panel before the tag.Review
Two reviews. Second at HEAD b387c6c: Important 0, Nit 5 listed (8 unlisted), none blocking. The first review's one Important (the
web/area unreviewed) is fixed. Nits not fixed: aknown-issues.mdW8 entry that wrongly says the Pages cancel step does nothing (GitHub docs accept a commit SHA), "declined" message after a v11 reconnect refusal, line-break file name mapped to an Advanced setting error, 60 pt staged row vs 48 pt token, disabled controls without hints.Verification (rerun at b387c6c in the ship session)
golangci-lint run(0 issues),go tool govulncheck -show verbose(0 affected),go test -race ./...pass (also with-count=1).scripts/format-swift.sh --lint: exit 0.scripts/build-xcframework.sh: exit 0.xcodebuild build:CrocAppfor generic iOS, iOS Simulator, macOS, andCrocApp Direct:BUILD SUCCEEDED; onlyappintentsmetadataprocessortool messages, nowarning:from our sources.swift test --package-path CrocKit: 35 tests passed.xcodebuild test -scheme CrocApp -destination 'platform=macOS':TEST SUCCEEDED.scripts/verify-interop.sh: first run failed intransport relay: wrapper send of 130 MiB(public relay1.getcroc.com:9009, wrapper log stalled atwaiting; likely relay flake, not investigated); rerun on the same tree:ALL INTEROP CHECKS PASSED.scripts/verify-app-mac.sh: allMAC-*-OK.verify-app-sim.sh:SIM-INTEROP-OK.verify-share-sim.sh:SHARE-SIM-OK.MARKETING_VERSION/CURRENT_PROJECT_VERSION, noschollz.com,contains("count 0 inTransferController.swift./r/page in a browser, VoiceOver and Inspector audit,gh-based and release-workflow Proof rows owned by other PRs.