chore(ci): harden CI + roadmap for fearless-utils hygiene#1297
chore(ci): harden CI + roadmap for fearless-utils hygiene#1297
Conversation
9c91aeb to
b7a28f0
Compare
…already metatype - Replace self.addressFactory = type(of: addressFactory) back to direct assignment in targeted files Signed-off-by: William Richter <richter@soramitsu.co.jp>
- If param is AddressFactory.Type, keep direct assignment - Else assign metatype with type(of:) Signed-off-by: William Richter <richter@soramitsu.co.jp>
- Normalize property to AddressFactory.Type (dedupe .Type.Type) - Replace self.addressFactory = addressFactory with AddressFactory.self Signed-off-by: William Richter <richter@soramitsu.co.jp>
…essFactory.self - Line-anchored and inline pattern to catch spacing/comments variants in targeted files Signed-off-by: William Richter <richter@soramitsu.co.jp>
…den assignment rewrite - Collapse any AddressFactory.Type.Type -> AddressFactory.Type - Aggressive replacement of self.addressFactory = addressFactory (spacing/comments) to AddressFactory.self Signed-off-by: William Richter <richter@soramitsu.co.jp>
…et files Signed-off-by: William Richter <richter@soramitsu.co.jp>
- Force property and init param to AddressFactory.Type - Normalize assignment to use param metatype - Flatten any AddressFactory.Type.Type to AddressFactory.Type Signed-off-by: William Richter <richter@soramitsu.co.jp>
Add shell guard to Modules Mock and Common Mock phases to skip when Pods/Cuckoo/run is missing. Preserves local behavior; prevents PhaseScriptExecution failures on PR agents without private pods. Signed-off-by: William Richter <richter@soramitsu.co.jp>
Detect Cuckoo via or /Pods; fall back to Pods/. Use to invoke. Ensure output directory exists to avoid write failures in CI. Signed-off-by: William Richter <richter@soramitsu.co.jp>
CI env detected (CI=true). Use committed mocks; avoid PhaseScriptExecution flakiness when generator or inputs are not stable on runners. Signed-off-by: William Richter <richter@soramitsu.co.jp>
Re-encode CI skip block with \n and escaped quotes to satisfy Nanaimo/Xcodeproj parser while preserving behavior. Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex critique this codebase |
|
Summary
Testing
|
…cate typealiases CommonMocks.swift and ModuleMocks.swift: drop SSFModels import and local typealiases that shadow app types, keep single @testable import fearless to avoid symbol ambiguity and redeclarations on CI. Signed-off-by: William Richter <richter@soramitsu.co.jp>
…iases to fearless.* Strip all 'import SSFModels' from committed mocks and add top-level typealiases mapping MetaAccountModel/ChainAccountResponse to fearless module to avoid ambiguous lookup. Signed-off-by: William Richter <richter@soramitsu.co.jp>
…/ChainAsset Fix missing type errors by importing SSFModels at header and explicitly aliasing core types while keeping MetaAccountModel/ChainAccountResponse bound to fearless module. Signed-off-by: William Richter <richter@soramitsu.co.jp>
…cates from generated mocks Add SSFModels bindings (AssetModel, ChainModel, ChainAsset, ChainFormat, AccountId, StakingType, ChainAssetKey) and app-protocol aliases in CuckooTypealiases.swift. Remove header aliases/imports from CommonMocks.swift and ModuleMocks.swift to avoid redeclarations and ambiguity. Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex critique this codebase |
|
Summary
Testing
|
- FearlessApplication.dropSession(): resolve active foreground window using connectedScenes and UIWindowScene windows instead of deprecated UIApplication.shared.windows.first. - MainTabBarViewFactory.createView(): stop using deprecated keyWindow; resolve ApplicationStatusPresentable window via connectedScenes. - HistoryService.fetchTransactionHistory: avoid invoking completion when the operation was cancelled to prevent teardown crashes. Signed-off-by: William Richter <richter@soramitsu.co.jp>
…ter cancellation-aware; make URL handler thread-safe - RootPresenterFactory: add Dependencies container and overload to support constructor injection while keeping default singleton-backed path. - RootPresenter: mark @mainactor, store and cancel Task handle on reload/deinit; remove extra main queue hops. - URLHandlingService: add concurrent queue with barrier writes and snapshot reads; make registry updates thread-safe. - docs: add CodexCritique.md capturing identified issues and directions. Signed-off-by: William Richter <richter@soramitsu.co.jp>
Swift forbids deinit in extensions; keep cancellation in-class. Signed-off-by: William Richter <richter@soramitsu.co.jp>
…col in dependencies RootPresenterFactory.Dependencies now carries KeystoreProtocol; defaults to SoraKeystore.Keychain(). Signed-off-by: William Richter <richter@soramitsu.co.jp>
…n; align OnboardingViewInput method signature Satisfy nonisolated protocol requirements under Swift 6 while keeping UI mutations on main via DispatchQueue.main.async. Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex fix the codecov issues once and for all |
|
Summary
Testing
|
…igger) Signed-off-by: William Richter <richter@soramitsu.co.jp>
…ation - drop older duplicate class from TonChainSelectionTests - keep canonical NetworkWorkerCompatibilityTests in ChainRegistry test group - unblocks fearless.tests simulator test action Signed-off-by: William Richter <richter@soramitsu.co.jp>
- use platform=iOS Simulator,arch=arm64,id=<UDID> in codecov workflow - removes xcodebuild multiple-matching-destinations warning on dual-arch simulator entries Signed-off-by: William Richter <richter@soramitsu.co.jp>
- remove redundant NetworkWorker compatibility tests from ConnectionPoolTests - keep canonical coverage in NetworkWorkerCompatibilityTests - narrows ConnectionPoolTests to connection-pool behavior only Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex review |
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c79d46664
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ngInfoTests Signed-off-by: William Richter <richter@soramitsu.co.jp>
…ON node Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
…ection Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: acc540d17d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: William Richter <richter@soramitsu.co.jp>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 93e4246f12
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…on error handling Signed-off-by: William Richter <richter@soramitsu.co.jp>
|
@codex review |
Notes: references:
- shared-features-spm pin 6d6cb16
- web3-swift dedupe 7.7.7
- optional Google keys injection
- FearlessKeys gated by INCLUDE_FEARLESS_KEYS