Repository navigation
test(webview): ClineProvider parallelMode suite with viewStates pruning edges #1921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
easonLiangWorldedtech
wants to merge
255
commits into
Zoo-Code-Org:main
Choose a base branch
from
easonLiangWorldedtech:vps2-f2c
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
255 commits
Select commit
Hold shift + click to select a range
199d072
test(activate): pin the tracked tab panel passed to getInstanceForView
easonliang28 c1bf947
feat(provider): persist per-view view-state identity and durable view…
easonliang28 1e952c5
fix(provider): track in-flight view-state mutations per field and exc…
easonliang28 b16a9e5
fix(provider): restore previous view-state id when registration persi…
easonliang28 a3c6064
fix(provider): reject invalid view-state modes and sync profile mutat…
easonliang28 3aec562
fix(package): move command palette entries to the commandPalette menu…
easonliang28 016c221
fix(webview): sync view-local state with mode and profile mutations a…
easonliang28 2573858
fix(provider): close mode-switch abort window, drop bracket access, c…
easonliang28 8d13c64
test(provider): cover abort and pinned profile deletion guards
easonliang28 2ba6240
test(provider): assert profile settings write identity
easonliang28 56d797c
fix(provider): make mode switch cancellation atomic and preserve view…
easonliang28 6c9856d
fix(core/webview): purge deleted provider profile from the settings s…
easonliang28 67dbd22
test: replace double assertions with single structural casts in view-…
easonliang28 1004cbd
fix(webview): contain the abort rollback failure in handleModeSwitch
easonliang28 dfb8264
fix(webview): restore only the mode field when rolling back an aborte…
easonliang28 ce8b276
fix(activate): drop the CodeIndexManager lookup left by the rebase
0f02b9c
fix(core/webview): merge view-local state into getState for per-view …
easonliang28 3887f8e
fix(webview): rebuild F1b on main tip + own delta
8e4afd7
fix(lint): correct the recorded suppression count for the sticky-mode…
cd90389
test(webview): seed the re-key entries through the write path
74f9975
fix(webview): drop the overlay when the surviving profile's settings …
66026d1
Merge upstream/main @89a90f513 into vps2-f1b-rb
easonliang28 8c9c55f
fix(webview): validate the webview-supplied view state id before adop…
easonliang28 e0e540e
fix(webview): refresh pinned views on non-activating saves; treat the…
easonliang28 74825b2
fix(webview): read the view overlay from the buffer, not the merged s…
easonliang28 08af5cb
fix(webview): rebuild active task handlers when a pinned profile is s…
easonliang28 ef73863
test: fix describe nesting, strengthen prune assertion, make stale-entry
easonliang28 6efdad3
fix: rebuild re-pinned siblings' tasks on profile deletion
easonLiangWorldedtech 50aa367
fix(webview): scope profile-save task rebuilds to the task's own profile
easonliang28 66f5945
fix(webview): gate deleted-profile re-pin task writes on the task's o…
easonliang28 b68b049
Merge upstream main 58341d882 into vps2/f1b-getstate-merge
easonliang28 293ed16
fix: clear newly-unused bindings surfaced by main unused-vars re-enable
easonliang28 feaa45a
chore: drop Stryker suppression comments per AGENTS.md policy
easonliang28 9ebf99c
fix: snapshot sibling pinned-view overlays before shared provider-set…
easonliang28 e5fccc5
fix(f1b): compensate profile activation writes when a concurrent writ…
easonliang28 f35395b
fix(f1b): extend profile mutation compensation to the provider-manage…
easonliang28 eeb49d3
test(f1b): wait for the first queued activation deterministically
easonliang28 7ddb244
fix(f1b): confirm record absence with hasConfig before manager compen…
easonliang28 603a1a9
fix(f1b): keep view caches, pins, and profile creates consistent unde…
easonliang28 9fb15c5
fix(f1b): keep rename re-point typed and snapshot fields complete
easonliang28 298749d
fix: re-point closed-view pins on rename, undo half-finished renames,…
easonliang28 f2b5d22
fix: spend the create claim when the profile save itself fails
easonliang28 f0a6a91
fix(webview): hand the stored profile record to rename re-points and …
easonliang28 4451d9e
fix(webview): build activation writes from the stored record, roll ba…
easonliang28 61e4704
Merge upstream main into vps2/f1b-getstate-merge (row-9 refresh)
easonliang28 a528254
fix(webview): close rename compensation gaps and reject colliding tar…
easonliang28 837efba
fix(webview): harden activation rollback against in-flight races
easonliang28 33fc334
fix(webview): keep the queue owned through activation compensation
easonliang28 2003656
test(webview): cover the run-to-completion activation contract
easonliang28 88ba72d
fix(provider): skip timed-out queued mutations, spare cleared pins an…
easonliang28 691d9db
fix(provider): harden eviction checks and queue-settled test assertions
easonliang28 df62613
fix(provider): fail closed on unverified profile saves and compensate…
easonliang28 d772497
Merge remote-tracking branch 'upstream/main' into vps2/f1b-getstate-m…
easonLiangWorldedtech 237561e
chore(knip): mark the test-only getPanel seam @internal
easonLiangWorldedtech a6aa4eb
fix(webview): keep the restored profile id and remove the unreachable…
easonLiangWorldedtech 6390402
style: apply prettier formatting to the profile-restore changes
easonLiangWorldedtech 49a0309
Merge upstream/main into vps2/f1b-getstate-merge
5f4ffdd
fix(merge): restore the upstream hunks dropped by the main merge
easonLiangWorldedtech 1fe6912
chore: drop stray scratch file from the previous commit
easonLiangWorldedtech f129a95
merge upstream/main (a4f774b17) into vps2/f1b-getstate-merge
easonLiangWorldedtech debb003
fix(commands): drop the unused ExtensionMessage import
easonLiangWorldedtech f55700d
fix(merge): restore the postActions helper dropped by the upstream merge
easonLiangWorldedtech 4f5538b
Merge upstream/main (3ee042d91) into vps2/f1b-getstate-merge
easonLiangWorldedtech b4013a6
fix(webview): reconcile profile overlays and harden the view-state wr…
easonLiangWorldedtech da2aeba
fix(webview): fail closed on unreadable profile records and stale tas…
easonLiangWorldedtech 2b709a3
fix(webview): close the profile-deletion gaps around survivors, live …
easonLiangWorldedtech 77c2bdb
fix(webview): keep rollbacks and resets from overwriting other views,…
easonLiangWorldedtech a1cbc34
fix(webview): keep a profile rollback from discarding another view's …
easonLiangWorldedtech 9c0919e
fix(webview): point the shared selection at the renamed profile when …
easonLiangWorldedtech 3a8bec2
fix(commands): let the API's new-tab creation bypass tracked-panel reuse
easonLiangWorldedtech 71c69fe
test(extension): expect forceNew in the tab-factory contract
easonLiangWorldedtech 8030dc0
fix(commands): focus the sidebar when plusButtonClicked runs without …
easonLiangWorldedtech ec59e85
fix(webview): report late profile commits, complete the activation ro…
easonLiangWorldedtech 99b3e92
fix(webview): keep rename rollback paired, clear deleted modes from s…
easonLiangWorldedtech c6015f8
fix(commands): wait for the sidebar webview to resolve before posting…
easonLiangWorldedtech 158c777
fix(webview): compare the stored settings before rename compensation …
easonLiangWorldedtech af37db3
fix(commands): state what the view-resolution wait actually releases on
easonLiangWorldedtech dba7c8f
fix(commands): keep a forced tab creation out of an in-flight ordinar…
easonLiangWorldedtech 702a15d
fix(webview): read the shared selection after the deletion commits
easonLiangWorldedtech e64bebf
fix(webview): rebuild F1c on the rebuilt F1b + own delta
ab2fac0
test(webview): F2a - profile-mutation state semantics and the mode-ro…
add4d42
test(view-state): reject any shared mode write during history restora…
99c6426
test(view-state): read the recorded update calls through vi.mocked so…
6f0a13f
fix(mode-switch): make the mode switch a compensating transaction
fe84de6
fix(webview): satisfy the merged ClineProvider contract
9492713
chore(activate,webview): address review nits on the merged branch
19e69a0
fix(activate): drop the stale tab panel reference before replacing it
2f7d8ad
fix(webview): restore the view's own mode pin when a mode switch roll…
499a4d6
test(webview): keep the mode-switch task double type-compatible
cc3ca92
fix(webview): make profile deletion compensating and cover the cross-…
4b2d0b4
fix(config): keep the typed not-found error out of getProfile's wrapper
749b3ab
fix(provider): compensate every durable store when a profile or mode …
easonLiangWorldedtech 68f8019
fix(webview): serialize profile deletion with the other profile mutat…
easonLiangWorldedtech f208277
fix(webview): roll back the shared write when the view-local write fails
easonLiangWorldedtech 36127c6
test(webview): cover cross-view profile refresh and the sibling re-pi…
easonLiangWorldedtech 957bca6
fix(activate): dispose a half-built tab when creation rejects
easonLiangWorldedtech f8e4bea
fix(webview): stop a cancelled profile deletion from writing durable …
easonLiangWorldedtech 916c280
fix(webview): keep host-owned keys out of the generic updateSettings …
easonLiangWorldedtech ee2378d
fix(webview): finish provider disposal even when a teardown step rejects
easonLiangWorldedtech eeb737d
fix(webview): roll back the shared provider keys too, and clear the r…
easonLiangWorldedtech 1df3724
test(webview): drive the public mode switch after a profile deletion
easonLiangWorldedtech 34e91be
test(config): cover the id branch of the profile not-found error
easonLiangWorldedtech 900f376
fix(webview): roll back every sibling view when one sibling's re-pin …
easonLiangWorldedtech 045f9bc
test(webview): make the view-state persistence failure test fail on t…
easonLiangWorldedtech 318f5e8
fix(webview): denylist currentApiConfigName and route profile deletio…
easonLiangWorldedtech 48380aa
fix(webview): chain the profile-mutation queue to the running mutation
86295c8
fix(webview): stop touching a provider that has begun disposal
08ab760
style: apply the repository prettier formatting to the files the form…
easonLiangWorldedtech 96c16f7
test(types): cover the persisted view-state record at the schema boun…
03e8558
fix(webview): compensate a profile deletion that the mutation timeout…
easonLiangWorldedtech 1d01564
fix(webview): keep a concurrent profile upsert when a deletion rolls …
easonLiangWorldedtech f52ec42
fix(webview): compensate every durable write when a profile upsert or…
03701e6
fix(webview): compensate a profile upsert the timeout cancels after t…
6850e6f
fix(webview): finish the activation when deleting the active profile
easonliang28 ef46a84
fix(webview): distinguish post-commit activation failure from deletio…
easonliang28 4b6e818
chore(ci): re-trigger checks after flaky extension-host-visual lane
easonliang28 55eda58
chore(ci): re-trigger checks after second flaky e2e-mock timeout
easonliang28 a248f65
fix: serialize profile mutations across views and keep sibling tasks …
easonliang28 5d65266
fix(webview): scope profile-save task rebuilds to the task's own profile
easonliang28 7298090
fix(webview): gate deleted-profile re-pin task writes on the task's o…
easonliang28 7e5fafd
fix: clear newly-unused bindings surfaced by main unused-vars re-enable
easonliang28 40ad776
chore: drop Stryker suppression comments per AGENTS.md policy
easonliang28 69b7842
test: await serialized view-state writes and global-state seeds deter…
easonliang28 9d5a828
test: complete the activation snapshot reads in the activation-buffer…
easonliang28 17a5ef5
fix: broadcast reset across live providers and correct the stale per-…
easonliang28 eead56d
fix(f2a): surface sibling restore failures from deletion compensation
easonliang28 23100ed
chore: retrigger CI (workflow trigger missed)
easonliang28 0937f9f
fix(f2a): defer sibling task-handler rebuilds and keep view caches co…
easonliang28 8125072
fix: re-point closed-view pins on rename, undo half-finished renames,…
easonliang28 fe16356
chore: drop husky-generated LFS hook scripts under .husky/_ (regenera…
easonliang28 e84e084
fix(webview): hand the stored profile record to rename re-points, rol…
easonliang28 a6d23c0
fix(webview): build activation writes from the stored record, roll ba…
easonliang28 e2635c9
fix(webview): order the durable re-point before the live re-pin
easonliang28 40cc12b
fix(provider): fail closed on unverified profile saves and compensate…
easonliang28 5ac3678
fix(provider): keep committed deletions committed and compensate once
easonliang28 4c17ff9
style: apply repo Prettier to the merge resolution
easonLiangWorldedtech 7942629
fix(webview): merge-restore the view pins and keep committed deletion…
easonLiangWorldedtech 1671703
style: apply prettier formatting to the deletion-compensation changes
easonLiangWorldedtech 5ca3ba0
fix(webview): address review findings on view-state keys and deletion…
easonLiangWorldedtech a65dcae
fix(webview): keep profile name and configuration consistent
easonLiangWorldedtech 96c3855
fix(webview): address the F2a review findings (batch 1)
easonLiangWorldedtech 958738e
fix(webview): address the F2a review findings (batch 2)
easonLiangWorldedtech b38bc77
fix(merge): restore the upstream hunks dropped by the main merge
easonLiangWorldedtech 5be37f9
test(e2e): wait for the task to reach history before the restart veri…
easonLiangWorldedtech 90d7e23
fix(core/webview): never inherit an orphaned pre-launch viewStates entry
easonLiangWorldedtech 2b78457
fix(webview): keep flat provider-profile keys out of the updateSettin…
easonLiangWorldedtech 1ab5e4a
fix(core/webview): order the profile-mutation majors so compensation …
easonLiangWorldedtech d9e3665
test(core/webview): prove the last-profile refusal leaves the stored …
easonLiangWorldedtech 9aeafc7
fix(core/webview): restore each sibling's sticky profile independently
easonLiangWorldedtech 3100a8b
fix(core/webview): pin the deletion snapshot's task when rebuilding s…
easonLiangWorldedtech 060fc76
fix(webview): post the merged state after the launch pin repair
easonLiangWorldedtech 6362b46
fix(webview): surface a failed rename compensation instead of only lo…
easonLiangWorldedtech 8b4b2ae
fix(webview): fence resetState against profile mutations still in flight
easonLiangWorldedtech 68f4cf7
fix(webview): carry the landed F1b profile contract into the F2a unit
easonLiangWorldedtech 424a55b
test(webview): F2c - parallelMode suite with viewStates pruning edges
c303e52
chore(lint): correct the sticky-mode suppression count
9b93165
chore(lint): prune the suppression this merge earns
7b5b253
fix(view-state): keep a pinned view's settings consistent when anothe…
635321c
fix(view-state): treat a view overlay as the whole profile, and refre…
90f5895
fix(view-state): keep the provider fallback under an overlay and tigh…
b49be55
fix(settings): keep the shared setting and its per-view pin in step
6b0b181
test(webview): pass the focus tracker to every ClineProvider construc…
f7c6e82
fix(webview): refresh the acting view's overlay on a non-activating p…
510e399
test(webview): assert the acting view keeps its pin after a foreign save
33cc5ab
fix(webview): roll the shared viewStates cache back when the write re…
e431bd6
test(webview): cover the token refresh for a view pinned to a non-act…
24797e7
fix(view-states): roll back to what storage holds, not to a stale cache
889ebe8
fix(webview): make the temporary view-state key unique per provider
1320189
fix(webview): drop the deleted profile's overlay when re-pinning a view
4f7e3b9
fix(webview): validate the client-supplied viewStateId and port the c…
easonLiangWorldedtech d47db20
test(webview): cover cross-view profile refresh and the sibling re-pi…
easonLiangWorldedtech 156e7f5
fix(webview): serialize profile deletion and stop a cancelled run fro…
easonLiangWorldedtech f34e41c
fix(webview): roll back the shared provider keys too, and clear the r…
easonLiangWorldedtech 09e6603
test(config): cover the id branch of the profile not-found error
easonLiangWorldedtech f408a61
fix(webview): roll back every sibling view when one sibling's re-pin …
easonLiangWorldedtech 3e42979
chore(lint): converge eslint suppressions with the merged tree
easonLiangWorldedtech fa916d2
test(webview): cover malformed persisted state and make profile write…
8476d97
style: format the profile and command files for the repo-wide prettie…
75c369b
fix(webview): let only the owning mode mutation compensate
easonLiangWorldedtech be40936
fix(webview): restore the shared selection without moving the acting …
easonLiangWorldedtech b1fd9f1
fix(skills): stop creating file watchers after the manager was disposed
easonLiangWorldedtech 0cdd435
test(webview): point the manager mocks at the modules they replace
easonLiangWorldedtech dd2fd0d
test: pin the storage key and stop leaking the test environment
easonLiangWorldedtech 3949395
test(activate): check the tracked panel by identity and cover the ina…
easonLiangWorldedtech 1cfba09
fix(webview): compensate a profile upsert the timeout cancels after t…
eab2708
fix(webview): keep the mutation queue owned until a timed-out mutatio…
easonliang28 0eee97e
fix: serialize profile mutations across views and keep sibling tasks on
easonLiangWorldedtech cfe7171
fix(webview): compensate aborted profile deletions while the queue is…
easonliang28 0a36c45
fix: clear newly-unused bindings surfaced by main unused-vars re-enable
easonliang28 3300d15
test: await serialized view-state writes and global-state seeds deter…
easonliang28 bdf3577
chore: retrigger CI (windows turbo task env crash, no test failures; …
easonliang28 c068ac8
test: make sibling-consistency block self-contained and exercise the …
easonliang28 c76d0ad
test: port the cross-instance reset broadcast and its regression cove…
easonliang28 468dc22
fix(f2c): refuse prototype-colliding view state ids and re-key on own…
easonliang28 0bd2e8f
fix(f2c): keep view-state cache and rename re-point consistent
easonliang28 16c978d
fix: re-point closed-view pins on rename, undo half-finished renames,…
easonliang28 3bb2760
chore: drop husky-generated LFS hook scripts under .husky/_ (regenera…
easonliang28 d6f2307
fix(webview): hand the stored profile record to rename re-points and …
easonliang28 c3ec028
fix(webview): build activation writes from the stored record, roll ba…
easonliang28 7a6eda3
fix(webview): refresh overlays with the full stored profile record
easonliang28 e1a90e9
fix(webview): order the durable re-point before the live re-pin
easonliang28 25e8ba9
fix(provider): keep committed deletions committed and compensate once
easonliang28 2d5d3a2
style: apply repo Prettier to the merge resolution
easonLiangWorldedtech 2ffd2b1
fix(webview): isolate API tab creation and preserve committed deletions
easonLiangWorldedtech 3b767d6
style: format the API tab-creation and deletion-compensation changes
easonLiangWorldedtech 08ad7de
test(webview): pin distinct API providers and mock the API factory path
easonLiangWorldedtech 62505d0
fix(webview): port the view-state durability fixes to the F2c unit
easonLiangWorldedtech 68cdf2d
fix(webview): address the remaining F2c review findings (batch 1)
easonLiangWorldedtech 3d0d3d2
fix(webview): address the remaining F2c review findings (batch 2)
easonLiangWorldedtech 3952679
fix(profiles): serialize the rename through the provider-profile muta…
easonLiangWorldedtech 39b986b
test(webview): align the f2c unit specs with the queued activation an…
easonLiangWorldedtech b903ae3
fix(merge): restore the upstream hunks dropped by the main merge
easonLiangWorldedtech a951aee
fix(webview): mark the shared-settings write as landed early and narr…
easonLiangWorldedtech bfe2f0b
test: re-trigger CI after a Windows-only suite flake
easonLiangWorldedtech 5757b7a
fix(webview): reconcile the F2c unit with the merged tree and the F2a…
easonLiangWorldedtech 4017cc5
fix(webview): restore the mode-switch task commit the merge dropped
easonLiangWorldedtech 9d040fb
test(core/webview): pin view-state and profile values the weak assert…
easonLiangWorldedtech 945177b
fix(core/webview): drop non-object viewStates entries when reading th…
easonLiangWorldedtech ca3645e
fix(core/webview): roll back sibling views when the post-re-pin task …
easonLiangWorldedtech 7b3cfca
fix(core/webview): recheck the view id after the second profile looku…
easonLiangWorldedtech 3f6c517
fix(core/webview): point the shared selection at the renamed profile …
easonLiangWorldedtech b6b66b5
fix(webview): re-read the stored viewStates map when compensating a r…
easonLiangWorldedtech 114c87e
fix(activate): recheck the tracked tab before creating a second one
easonLiangWorldedtech fad0559
test(activate): assert the tracked provider is returned and the const…
easonLiangWorldedtech 2172fcd
fix(core,webview): settle the four review findings on the view-state …
easonLiangWorldedtech c2206c5
fix(core,webview): confirm the newest resolved write and restore the …
easonLiangWorldedtech b0cb66e
test(webview): rebase the F2c test unit onto the landed F2a contract
easonLiangWorldedtech 33f56ca
fix(activate): rebind telemetry before disposing the raced tab provider
easonLiangWorldedtech a15ce7e
fix(activate,skills,tests): gate the sidebar title commands on the re…
easonLiangWorldedtech 4d002c4
test(config,webview): cover storage failures and the sibling view's s…
easonliang28 1c1ac88
Merge upstream/main (e943530c8) into vps2-f2a
easonliang28 4819893
Merge branch 'vps2-f2a' into vps2-f2c
easonliang28 5cbdcf1
fix(webview): close the profile deletion write group and make its ord…
easonliang28 5163cd3
fix(webview): localize the profile-deletion warning and pin real orde…
easonLiangWorldedtech da74128
test(activate): scope the throwing MdmService mock to the fallback test
easonLiangWorldedtech 244a210
test(core/config): make the two restore-spec cases differ by write order
easonLiangWorldedtech 2e19e38
fix(webview): run profile deletion inside the provider profile mutati…
easonLiangWorldedtech ec318b3
fix(webview): move the sibling task-handler rebuild out of the settle…
easonLiangWorldedtech 186355a
fix(webview): put the acting view own pin back and order its sticky w…
easonLiangWorldedtech 42b4b6f
fix(webview): keep the reset going when a sibling webview refuses the…
easonLiangWorldedtech 0579f8d
fix(webview): warn when a rename activation rollback cannot restore t…
easonLiangWorldedtech 2b7a41d
fix(webview): keep the shared store paired with the selection when a …
easonLiangWorldedtech a691f24
test(webview): pin the interpolation value and the placeholder behind…
easonLiangWorldedtech bc729fc
fix(activate): keep a live tab panel tracked when the tracked one closes
easonLiangWorldedtech 4719931
fix(webview): keep a committed deletion and a live tab panel across f…
easonLiangWorldedtech 987a4ff
fix(webview): take the profile delete off the manager lookup and tigh…
easonLiangWorldedtech 8559e8b
test(webview): restore the provider double after the stale-profile de…
easonLiangWorldedtech 94b624c
test(vps2-f2a): cover the launched view and share the settings key lists
easonLiangWorldedtech 22cacfe
Merge branch 'vps2-f2a' (94b624c8e, #1919) into vps2-f2c
easonLiangWorldedtech 5789700
test(vps2-f2c): make the eleven review rows measurable
easonLiangWorldedtech File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.