-
Notifications
You must be signed in to change notification settings - Fork 141
Thoughtspace powered by treecrdt #4325
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
Antonov548
wants to merge
398
commits into
cybersemics:main
Choose a base branch
from
Antonov548:main
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 250 commits
Commits
Show all changes
398 commits
Select commit
Hold shift + click to select a range
789ff19
Merge remote-tracking branch 'upstream/main' into sync-upstream-main-…
marcus-pousette 7666d36
Merge pull request #17 from Antonov548/sync-upstream-main-2026-05-30
Antonov548 963f20d
test: wait for tree operations
Antonov548 ea1b111
fix eslint
Antonov548 2430a84
Merge pull request #18 from Antonov548/fix/tests-wait-tree
marcus-pousette 0b6bf3f
Fix iOS waitForEmIdle helper
marcus-pousette c5fe115
Fix iOS focus on cursor selection
marcus-pousette e7d6f36
Merge pull request #20 from Antonov548/fix/ios-wait-for-em-idle
Antonov548 5389e16
move sync init to `thoughtspace`
Antonov548 ac245a4
fix eslint
Antonov548 30f906d
add `TRANSIENT_THOUGHT_ID` to constants
Antonov548 e1c0c2f
Revert Editable changes from TreeCRDT branch
marcus-pousette 196c2e1
Merge pull request #26 from Antonov548/revert/editable-treecrdt-changes
Antonov548 6ad91c2
Merge pull request #25 from Antonov548/cleanup/transient-constant
marcus-pousette 4da24da
Merge pull request #24 from Antonov548/feat/sync-init-cleanup
marcus-pousette 26fbe5d
Inline settings bootstrap helper
marcus-pousette 50370b1
Merge pull request #29 from Antonov548/cleanup/inline-settings-helper
Antonov548 2ac2500
Keep TreeCRDT freeLexeme cache-only
marcus-pousette d61552e
Merge pull request #30 from Antonov548/fix/treecrdt-free-lexeme-cache…
Antonov548 80234c9
fix: remove command usage from tests
Antonov548 de1f360
fix eslint
Antonov548 e4d0516
fix eslint
Antonov548 99c4c37
Merge pull request #31 from Antonov548/fix/test-command-usage
marcus-pousette d5b2132
revert before input
Antonov548 758bf24
Merge remote-tracking branch 'upstream/main' into merge-upstream
Antonov548 87bb75b
Merge pull request #34 from Antonov548/merge-upstream
marcus-pousette 7378236
Scope e2e persistence waits to refresh
marcus-pousette 1769c5b
Merge pull request #32 from Antonov548/fix/revert-before-input
marcus-pousette e0b03af
Merge pull request #33 from Antonov548/fix/e2e-helper-persistence-waits
Antonov548 2d2b571
Merge remote-tracking branch 'upstream/main' into merge-upstream-2026…
marcus-pousette 90b0954
Merge pull request #36 from Antonov548/merge-upstream-2026-06-08
Antonov548 a10a2d8
Move TreeCRDT internals behind thoughtspace boundary
marcus-pousette 791ea73
Merge pull request #27 from Antonov548/draft/thoughtspace-provider-bo…
Antonov548 ac40bf0
Merge remote-tracking branch 'upstream/main' into merge-upstream-2026…
marcus-pousette 4057bba
Merge pull request #37 from Antonov548/merge-upstream-2026-06-10
Antonov548 5d257c5
cleanup storage and initialize
Antonov548 9c3df10
fix eslint
Antonov548 86401ec
Merge pull request #39 from Antonov548/cleanup-unused
marcus-pousette 3a6b651
Merge upstream main
marcus-pousette f8f86cb
Merge pull request #41 from Antonov548/sync/upstream-2026-06-15
Antonov548 f04d032
treecrdt usage for the vitest
Antonov548 361a93b
fix typo
Antonov548 3e9d737
Bump @treecrdt/wa-sqlite to 0.3.1
marcus-pousette 062bcaf
Fix real TreeCRDT Vitest runtime integration
marcus-pousette c38ebad
Add undo move persistence regression
marcus-pousette bb50c79
Stabilize TreeCRDT pull queue teardown
marcus-pousette aa6a187
Cover redo persistence with isolated test docs
marcus-pousette c1ef837
Merge pull request #43 from Antonov548/fix/treecrdt-vitest-real-provider
Antonov548 073b25a
Merge pull request #42 from Antonov548/node-treecrdt-vitest
Antonov548 4b948b6
Merge remote-tracking branch 'upstream/main' into upstream-merge
Antonov548 e43ec74
Merge pull request #44 from Antonov548/upstream-merge
marcus-pousette e166664
Merge upstream dependency updates
marcus-pousette 6ffedce
Merge pull request #45 from Antonov548/sync/upstream-2026-06-19
Antonov548 f4fd465
revert `scrollY` check
Antonov548 088b529
Sync upstream swapNote fix
marcus-pousette 6634b2b
Merge pull request #47 from Antonov548/sync/upstream-2026-06-22
Antonov548 495dd12
Restore context superscript color coverage
marcus-pousette 63ba77e
Merge pull request #48 from Antonov548/restore-color-context-superscript
Antonov548 7ec5435
Restore virtualization Puppeteer helper usage
marcus-pousette dffc92e
Remove implicit focus from press helper
marcus-pousette 6e72ebb
Clarify Puppeteer readiness setup
marcus-pousette 9ac6ffb
Merge pull request #49 from Antonov548/cleanup-virtualization-test
Antonov548 74b6514
Merge pull request #50 from Antonov548/remove-press-auto-focus
Antonov548 7ca3569
Merge pull request #51 from Antonov548/cleanup-puppeteer-ready-setup
Antonov548 9ce8e4a
resolve attribute thoughts by value
Antonov548 31324be
fix lint
Antonov548 1cf96a1
Fix TreeCRDT attribute childrenMap materialization
marcus-pousette 4bf1dcc
Clarify attribute childrenMap lookups
marcus-pousette 0962606
Avoid TreeCRDT provider leak in unit test
marcus-pousette 2cfa062
Index TreeCRDT attribute children
marcus-pousette b1b6274
Avoid unnecessary attribute index reads
marcus-pousette 8ce1cc3
Skip attribute index update on reorder
marcus-pousette 4177950
Cache TreeCRDT lexeme schema readiness
marcus-pousette 1883faf
Merge pull request #53 from Antonov548/lexeme-schema-ready-cache
Antonov548 3b36be5
Merge pull request #52 from marcus-pousette/treecrdt-attribute-childr…
Antonov548 23ddffb
Merge pull request #46 from Antonov548/revet-scroll-test
Antonov548 ef24aca
Restore mobile caret test flow
marcus-pousette 6bbc5c3
Remove stale TreeCRDT cleanup leftovers
marcus-pousette 37ce7cc
Remove Redux wait from iOS keyboard helper
marcus-pousette 1464343
Merge pull request #54 from Antonov548/cleanup-mobile-tap-helper
Antonov548 dd21315
Merge pull request #55 from Antonov548/cleanup/stale-treecrdt-remnants
Antonov548 afebeec
Merge pull request #40 from Antonov548/cleanup/remove-ios-redux-keybo…
Antonov548 3680120
Harden TreeCRDT idle error handling
marcus-pousette 1af58e2
Merge pull request #56 from Antonov548/fix/treecrdt-idle-async-errors
Antonov548 caa6004
Merge remote-tracking branch 'upstream/main' into upstream-merge
Antonov548 a2d15e5
Merge pull request #57 from Antonov548/upstream-merge
marcus-pousette 9c48620
Merge upstream main
marcus-pousette d82af55
Merge pull request #58 from Antonov548/sync/upstream-2026-06-29
Antonov548 3afb7e4
Merge upstream cybersemics/em
marcus-pousette 2dbdc81
Merge pull request #59 from Antonov548/sync/upstream-2026-06-30
Antonov548 f1e1bb9
remove y-indexeddb from resolutions
Antonov548 f08488c
Merge pull request #60 from Antonov548/chore/cleanup-package-resolutions
marcus-pousette f1bbb6f
remove wait db in tests dispatch
Antonov548 4943612
Handle stale TreeCRDT afterId placements
marcus-pousette 9b23640
Merge pull request #63 from Antonov548/fix/treecrdt-stale-afterid-fal…
Antonov548 e6b774c
Merge pull request #62 from Antonov548/tests/dispatch-db-wait
marcus-pousette 8c5aa4d
Inline TreeCRDT batch persistence helper
marcus-pousette b5c0730
Use concrete TreeCRDT thoughtspace init in test
marcus-pousette 5c06b08
Merge pull request #66 from Antonov548/fix/use-concrete-treecrdt-thou…
Antonov548 1e83d7e
Merge pull request #65 from Antonov548/fix/inline-treecrdt-persist-ba…
Antonov548 d7c8580
Restore TreeCRDT replication delay test hook
marcus-pousette 7f95028
Keep move afterId helper private
marcus-pousette 086e3ee
Clarify color context navigation test
marcus-pousette a3424bf
Merge pull request #64 from Antonov548/fix/private-move-afterid-helper
Antonov548 e484772
treecrdt vite config
Antonov548 2d798ba
Merge pull request #68 from Antonov548/fix/treecrdt-replication-delay…
Antonov548 c289f68
Merge pull request #67 from Antonov548/fix/restore-color-context-arro…
Antonov548 c9d70ba
Merge pull request #69 from Antonov548/cleanup-vite-config
marcus-pousette 3274514
Merge remote-tracking branch 'upstream/main' into sync-upstream
Antonov548 3ef5481
fix order in package.json
Antonov548 cd1a88c
Merge pull request #71 from Antonov548/sync-upstream
marcus-pousette eed97fc
remove method rename
Antonov548 0329dd0
rename
Antonov548 26a2d42
Merge pull request #72 from Antonov548/refactor/runtime-method-rename
marcus-pousette 6962fb6
Fix context view root sort stability
marcus-pousette 0312483
Bound thoughtspace provider idle waits
marcus-pousette 086c191
Inline Puppeteer app ready waits
marcus-pousette 109f7c8
Merge pull request #74 from Antonov548/fix/thoughtspace-provider-idle
Antonov548 69f58a9
Merge pull request #73 from Antonov548/fix/context-view-root-sort
Antonov548 a3f1c6e
Merge upstream main
marcus-pousette c123385
Align pinAll export tests with fixed root id
marcus-pousette 7d22b5e
Use createId for Puppeteer session ids
marcus-pousette 7546f57
Return export replications explicitly
marcus-pousette cbe2da2
Merge pull request #76 from Antonov548/sync/upstream-2026-07-07
Antonov548 372b7f5
Merge pull request #77 from Antonov548/fix/formalize-puppeteer-sessio…
Antonov548 aee7fce
Merge pull request #78 from Antonov548/fix/export-replications-return
Antonov548 e15f926
Minimize pullQueue status changes
marcus-pousette 717302d
Default Puppeteer workers to bounded parallelism
marcus-pousette 48efabd
Decouple TreeCRDT materialization from Redux store
marcus-pousette ffdb4ff
Merge pull request #83 from Antonov548/fix/default-puppeteer-max-workers
Antonov548 8c7c017
Merge pull request #84 from Antonov548/fix/materialization-redux-boun…
Antonov548 4c3cc86
Merge remote-tracking branch 'upstream/main' into sync-upstream
Antonov548 0afc715
Merge pull request #85 from Antonov548/sync-upstream
marcus-pousette 449b78b
remove test thoughtspace
Antonov548 1f3db2e
Merge pull request #86 from Antonov548/remove-test-thoughtspace
marcus-pousette 9849e2b
Deduplicate Puppeteer app readiness waits
marcus-pousette 341d272
Merge pull request #87 from Antonov548/fix/remove-redundant-testhelpe…
Antonov548 6e445de
Merge pull request #80 from Antonov548/fix/minimize-pull-queue-status
Antonov548 9f34c79
Integrate lazy TreeCRDT RIBLT startup
marcus-pousette db43bcc
Merge pull request #88 from Antonov548/fix/integrate-treecrdt-lazy-riblt
Antonov548 11661bb
Inline Puppeteer initialization waits
marcus-pousette 57c7817
Merge pull request #89 from Antonov548/refactor/inline-puppeteer-init…
Antonov548 ce2befc
chore(deps): bump @treecrdt/wa-sqlite to 0.3.2
marcus-pousette 5e0ecaa
Merge pull request #91 from Antonov548/fix/wa-sqlite-shared-worker-pe…
Antonov548 77244c4
Merge upstream main into Antonov fork
marcus-pousette 6ecfd07
Merge pull request #93 from Antonov548/sync/upstream-2026-07-14
Antonov548 72abef1
Merge remote-tracking branch 'origin/main' into sync/upstream-2026-07-20
marcus-pousette 114fafb
Merge pull request #97 from Antonov548/sync/upstream-2026-07-20
Antonov548 46aa419
Fix Chrome OPFS startup with TreeCRDT auto runtime
marcus-pousette f41799c
Guard TreeCRDT storage to one active tab
marcus-pousette 0131092
Restore real Puppeteer tutorial click
marcus-pousette 6f87b74
Hide TreeCRDT access behind thoughtspace runtime
marcus-pousette 92c779d
Remove unrelated Puppeteer URL override
marcus-pousette 213b81c
Clarify initialization readiness names
marcus-pousette f6074c2
Tighten single-tab bootstrap and coverage
marcus-pousette 6dbf5cf
Document TDD setup compatibility
marcus-pousette 02ffaa4
Remove TDD compatibility cast
marcus-pousette e43bf32
Isolate session lock tests
marcus-pousette 57d0d96
Merge pull request #100 from Antonov548/fix/treecrdt-single-tab-lock
Antonov548 bba5e8a
Merge branch 'main' into pr/4325
raineorshine 2da7ab3
Refactor TreeCRDT test configuration
marcus-pousette 0ee9ff2
Separate TreeCRDT tab policy
marcus-pousette 1ddfdfe
Shorten TreeCRDT test flag name
marcus-pousette 895113f
Refine TreeCRDT test configuration
marcus-pousette 647eacd
Decouple TreeCRDT config from test flags
marcus-pousette 0e8bfbe
Document bootstrap config lifecycle
marcus-pousette a7b623f
Merge pull request #104 from Antonov548/refactor/treecrdt-bootstrap-c…
marcus-pousette f1d443d
Clarify bootstrap config overrides
marcus-pousette 9b7e90e
Merge pull request #102 from Antonov548/refactor/treecrdt-test-config
Antonov548 4249b79
chore: bump @treecrdt/wa-sqlite to 0.3.4
marcus-pousette b3e2bb7
Merge pull request #105 from Antonov548/chore/treecrdt-wa-sqlite-0.3.4
Antonov548 f88f694
Refactor TreeCRDT bootstrap namespace
marcus-pousette f0501c5
Simplify window.em test access
marcus-pousette c3913d0
merge upstream
Antonov548 ca0f628
fix vite config after merge
Antonov548 db86185
Merge pull request #112 from Antonov548/merge-upstream
marcus-pousette e5ec9ee
Merge remote-tracking branch 'upstream/main' into merge-upstream
Antonov548 91e52e4
fix tests
Antonov548 ae2822b
Merge pull request #113 from Antonov548/merge-upstream
marcus-pousette a83cd44
Merge pull request #108 from Antonov548/refactor/window-em-treecrdt-c…
Antonov548 cb5f356
Merge pull request #109 from Antonov548/refactor/window-em-test-api
marcus-pousette cb03a39
Address TreeCRDT review feedback
marcus-pousette 7dc894f
Refine TreeCRDT ownership surface
marcus-pousette 261ebc6
Streamline TreeCRDT lifecycle tests
marcus-pousette 675d3fc
Simplify TreeCRDT ownership types
marcus-pousette 45d90d7
Remove app-owned outbound sync buffering
marcus-pousette 158130e
Clarify TreeCRDT materialization context
marcus-pousette a05dd03
Adopt terminal wa-sqlite teardown
marcus-pousette 54cb139
Clarify TreeCRDT runtime test doubles
marcus-pousette fdec34a
Clarify TreeCRDT drop settlement
marcus-pousette 57ddd18
Simplify TreeCRDT provider readiness
marcus-pousette 7643cde
Clarify TreeCRDT provider lifecycle
marcus-pousette f32545a
Merge pull request #106 from Antonov548/refactor/pr4325-review-cleanup
marcus-pousette c84a772
Merge upstream main
marcus-pousette dc2e692
test: preserve upstream gesture emulation
marcus-pousette 764c9c7
Simplify preload window type
marcus-pousette 18223ea
Merge pull request #118 from Antonov548/cleanup/bootstrap-window-type
Antonov548 7516572
update comment
Antonov548 830c796
remove optional check
Antonov548 a64d0a9
Merge pull request #120 from Antonov548/chore/refresh-comment
marcus-pousette cb3123b
Decouple Puppeteer setup from TreeCRDT startup
marcus-pousette 7034e33
Inline derived lexeme persistence
marcus-pousette d25914a
Merge pull request #122 from Antonov548/fix/puppeteer-ui-readiness
Antonov548 dec1dc1
Merge pull request #123 from Antonov548/refactor/inline-materializati…
Antonov548 5b07f6f
use common type ThoughtUpdates
Antonov548 bc5ee9c
Merge pull request #117 from Antonov548/sync/upstream-2026-08-06
Antonov548 8018f84
Merge pull request #125 from Antonov548/refactor/mat-type-refactor
marcus-pousette cc3d0d2
Pass thoughtspace storage through initialize
marcus-pousette 56bff5d
Trim defensive storage tests
marcus-pousette e7469b1
Assert the thoughtspace document id
marcus-pousette 6fc7602
Inline memory storage in runtime tests
marcus-pousette 0c8c52d
Describe current thoughtspace test storage
marcus-pousette c60c8c8
Simplify thoughtspace storage initialization
marcus-pousette f47ba91
Move thoughtspace storage selection to startup
marcus-pousette 6b10b37
Merge pull request #124 from Antonov548/refactor/explicit-thoughtspac…
Antonov548 ad5594d
Merge remote-tracking branch 'upstream/main' into merge-upstream
Antonov548 6c0e68e
update yarn.lock
Antonov548 d7afbda
Merge pull request #126 from Antonov548/merge-upstream
marcus-pousette 38dddd2
test: remove obsolete gesture connection wait
marcus-pousette 2413d66
Merge pull request #127 from Antonov548/test/remove-obsolete-gesture-…
Antonov548 75c063a
Align TreeCRDT browser runtime configuration
marcus-pousette 669eda7
Merge pull request #128 from Antonov548/fix/treecrdt-browser-assets-n…
Antonov548 f9e8457
Test wide TreeCRDT sibling placement reads
marcus-pousette c711ecb
Avoid redundant TreeCRDT sibling reads
marcus-pousette 6320a41
Clarify TreeCRDT test provider type
marcus-pousette ec5b98b
Fall back to memory when OPFS is unavailable
marcus-pousette da54245
Keep private storage docs developer-facing
marcus-pousette 1153664
Narrow memory fallback regression
marcus-pousette 6de5ac8
Merge pull request #130 from Antonov548/fix/treecrdt-wide-sibling-per…
Antonov548 b44553d
Merge pull request #131 from Antonov548/fix/treecrdt-memory-fallback
Antonov548 8f90d77
Merge upstream main
marcus-pousette 0727044
Merge pull request #132 from Antonov548/sync/upstream-2026-08-12
Antonov548 b4bd86f
Merge upstream main
marcus-pousette 1d0a709
Retain test environment documentation
marcus-pousette 31fc1b6
Merge pull request #134 from Antonov548/fix/retain-testing-context
Antonov548 3e4997c
Merge pull request #133 from Antonov548/sync/upstream-2026-08-12-late
Antonov548 47da7b1
Update TreeCRDT wa-sqlite to 0.4.2
marcus-pousette 9ff8cc0
Merge pull request #135 from Antonov548/chore/treecrdt-wa-sqlite-0.4.2
Antonov548 d72a47e
Merge remote-tracking branch 'upstream/main' into merge-upstream-8-14…
Antonov548 432e41c
fix lint
Antonov548 fdd115d
fix tests
Antonov548 c592284
fix import
Antonov548 22d475c
feedback
Antonov548 0649af4
update docs
Antonov548 738875a
Merge pull request #138 from Antonov548/merge-upstream-8-14-2026
marcus-pousette 7df5e53
Merge upstream main
marcus-pousette c7f2005
Merge pull request #139 from Antonov548/sync/upstream-2026-08-17
Antonov548 54aea5b
Merge upstream main
marcus-pousette 5307fed
Merge latest upstream main
marcus-pousette 2fbbae0
Merge pull request #140 from Antonov548/sync/upstream-2026-08-18
Antonov548 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -106,6 +106,7 @@ export default [ | |
| '**/docs/*', | ||
| '**/functions/*', | ||
| '**/scripts/*', | ||
| 'public/wa-sqlite/**', | ||
| ], | ||
| }, | ||
| { | ||
|
|
||
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
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.