Skip to content
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

Bug: Watch mode on Linux causes a ENOSPC Node.js error #3254

Closed
maraisr opened this issue Apr 4, 2017 · 78 comments
Closed

Bug: Watch mode on Linux causes a ENOSPC Node.js error #3254

maraisr opened this issue Apr 4, 2017 · 78 comments

Comments

@maraisr
Copy link

maraisr commented Apr 4, 2017

Versions:

  • Yarn: v0.21.3
  • Node: v6.9.2
  • npm: 3.10.9
  • Ubuntu: 16.10

Installed using: yarn global add jest (With a chown at ~/.config/yarn/global/node_modules/)

Command failed: jest -c lib/tools/testing/jest.config.json --no-cache --watch

If I run jest -c lib/tools/testing/jest.config.json --no-cache testing works 100% fine.

Error message:

fs.js:1431
    throw error;
    ^

Error: watch /home/fooBar/dev/blah/lib/tools/testing/node_modules/core-js/modules ENOSPC
    at exports._errnoException (util.js:1022:11)
    at FSWatcher.start (fs.js:1429:19)
    at Object.fs.watch (fs.js:1456:11)
    at NodeWatcher.watchdir (/home/fooBar/.config/yarn/global/node_modules/sane/src/node_watcher.js:148:20)
    at Walker.<anonymous> (/home/fooBar/.config/yarn/global/node_modules/sane/src/node_watcher.js:361:12)
    at emitTwo (events.js:106:13)
    at Walker.emit (events.js:191:7)
    at /home/fooBar/.config/yarn/global/node_modules/walker/lib/walker.js:69:16
    at go$readdir$cb (/home/fooBar/.config/yarn/global/node_modules/graceful-fs/graceful-fs.js:149:14)
    at FSReqWrap.oncomplete (fs.js:123:15)

Tmp dir: yarn config set tmp /tmp/

Disk free space: df -h / (11% used)

Jest config: at lib/tools/testing/jest.config.json

{
	"clearMocks": true,
	"bail": true,
	"transform": {
		".(ts|tsx)": "<rootDir>/lib/tools/testing/node_modules/ts-jest/preprocessor.js"
	},
	"testResultsProcessor": "<rootDir>/lib/tools/testing/node_modules/ts-jest/coverageprocessor.js",
	"testMatch": [
		"**/__tests__/*.(ts|tsx|js)"
	],
	"moduleFileExtensions": [
		"ts",
		"tsx",
		"js"
	],
	"moduleDirectories": [
		"node_modules",
		"<rootDir>/lib/tools/testing/node_modules"
	],
	"collectCoverage": true,
	"coverageDirectory": "./reports/",
	"coverageReporters": [
		"clover",
		"lcov",
		"text-summary"
	],
	"coverageThreshold": {
		"global": {
			"branches": 50,
			"functions": 80,
			"lines": 60
		}
	},
	"collectCoverageFrom": [
		"{src,lib}/**/*.{ts,js}",
		"!lib/{tools}/**/*",
		"!**/{node_modules,vendor}/**"
	]
}
@cpojer
Copy link
Member

cpojer commented Apr 11, 2017

This means there is no space on your drive. Please cleanup your disk.

@cpojer cpojer closed this as completed Apr 11, 2017
@maraisr
Copy link
Author

maraisr commented Apr 11, 2017

@cpojer not sure if you read the issue, but;

Disk free space: df -h / (11% used)

was mentioned in there - disk space although reported as the issue, is actually not the issue.

@maraisr
Copy link
Author

maraisr commented Apr 12, 2017

Bump @cpojer

@zackabrah
Copy link

I am having the same issue, and there's definitely free disk space

@cpojer
Copy link
Member

cpojer commented Apr 19, 2017

Unfortunately we do not have resources to debug this on Linux. If you have time and you could take a look and help us with a pull request to fix it, that would be greatly appreciated.

@maraisr
Copy link
Author

maraisr commented Apr 20, 2017

@cpojer I'll take a look - but I also believe it is not limited to the Linux OS. Regardless, do you mind re-opening this issue?

@thymikee thymikee reopened this Apr 20, 2017
@maraisr
Copy link
Author

maraisr commented Apr 26, 2017

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

@maraisr maraisr closed this as completed Apr 26, 2017
@cpojer
Copy link
Member

cpojer commented Apr 26, 2017

Thanks for investigating, if you install watchman, it should work.

@samit4me
Copy link

Just recently switched from Windows 7 to Ubuntu 16.04.2 LTS and Jest was working great in Windows but failed to run under Linux for the same reasons listed above. It only seems to fail if you add the --watch flag.

Firstly I took @cpojer advice and installed watchmen as per docs and ran the jest --watch again and I got the following errors:

jest --watch

events.js:163
      throw er; // Unhandled 'error' event
      ^

Error: A non-recoverable condition has triggered.  Watchman needs your help!
The triggering condition was at timestamp=1493335106: inotify-add-watch(/home/username/project_name/node_modules/browser-resolve/node_modules/resolve/example) -> The user limit on the total number of inotify watches was reached; increase the fs.inotify.max_user_watches sysctl
All requests will continue to fail with this message until you resolve
the underlying problem.  You will find more information on fixing this at
https://facebook.github.io/watchman/docs/troubleshooting.html#poison-inotify-add-watch

    at ChildProcess.<anonymous> (/home/username/project_name/node_modules/sane/node_modules/fb-watchman/index.js:207:21)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:194:7)
    at maybeClose (internal/child_process.js:899:16)
    at Socket.<anonymous> (internal/child_process.js:342:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at Pipe._handle.close [as _onclose] (net.js:510:12)
npm ERR! Test failed.  See above for more details.

This was useful as it tells you what to do, so I then used the fix from @maraisr and jest is now working on Ubuntu 🎉 🍻

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Thank you for figuring this out @maraisr @cpojer 👍 Do you think something should be added to the Jest website?

@samseralam
Copy link

Thanks Bro @maraisr

@vspedr
Copy link

vspedr commented Nov 6, 2017

@maraisr do you know if there's a sudo-less version of that solution, by any chance?

@maraisr
Copy link
Author

maraisr commented Nov 6, 2017

@vspedr not sure - I can take a look!

But we are touching system files there, so for security you kinda need elevated permissions. If you can make yourself a sudoer i believe you can run those commands without sudo.

But yeah - i'll take a look and see what I can come up with.

@lshlyapnikov
Copy link

May be I am missing something... but why does jest need to watch anything in my node_modules directory?
How can I configure it so it skips node_modules?

@SimenB
Copy link
Member

SimenB commented Mar 21, 2018

@AlexBazer
Copy link

AlexBazer commented Mar 21, 2018

@SimenB, as I see watchPathIgnorePatterns skips files only after watch itself is up and running, that's why the start of the watch can take a long time and sometimes can throw ENOSPC

@SimenB
Copy link
Member

SimenB commented Mar 21, 2018

Ah, ok. A PR respecting watchPathIgnorePatterns when setting up watchers would be nice :)

@AlexBazer
Copy link

@SimenB can you please point me on the place in the source code where it directly starts watch? I have a hard time to find this place

@AlexBazer
Copy link

Find out that watcher is using HasteMap as a source of all files that should be watched, and the question right now in process of building HasteMap.
HasteMap respects modulePathIgnorePatterns option, but it's not logical to use this option based on the description from the docs:

An array of regexp pattern strings that are matched against all module paths before those paths are to be considered 'visible' to the module loader. If a given module's path matches any of the patterns, it will not be require()-able in the test environment.

am I right?

@henryemekaonuorah92
Copy link

henryemekaonuorah92 commented Apr 6, 2018

@maraisr

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

this solution does not work on my mac os 10.13.4 it returns the error below

sysctl: illegal option -- p usage: sysctl [-bdehiNnoqx] name[=value] ... sysctl [-bdehNnoqx] -a sysctl: illegal option -- p usage: sysctl [-bdehiNnoqx] name[=value] ... sysctl [-bdehNnoqx] -a

@CodeMonkeyG
Copy link

Oh Hey @scotthovestadt! Hope you're well!

@adam-edison
Copy link

For future visitors, @pomber's solution is objectively vastly better than increasing the watch limit:

Add this to your package.json:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

This should be the top answer. People - please bump this. Why would you simply say "oh, out of memory/resources - give it more memory/resources" without examining the cause?

@abramov231

This comment has been minimized.

@mkahraman
Copy link

@maraisr thanks. I resolved problem. 💃

@jhanschoo
Copy link

For future visitors, @pomber's solution is objectively vastly better than increasing the watch limit:

Add this to your package.json:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

This should be the top answer. People - please bump this. Why would you simply say "oh, out of memory/resources - give it more memory/resources" without examining the cause?

Just a note for the record: the present proper fix didn't work until #7585 that fixed #7544 .

@tarun4all
Copy link

might be there is some permission issues try Sudo npm start

@brother-donkey
Copy link

This command will increase the number of allowed watchers:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Source

@JimmyBastos
Copy link

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

@maraisr Thanks, your solution worked perfectly on Ubuntu 18.04

@sonalkrkeshri
Copy link

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

Thanks, this resolved my issue.

@jchook
Copy link

jchook commented Sep 25, 2019

Future visitors and @sunnykeshri @JimmyBastos @BrotherDonkey @CodeMonkeyG, for my sanity please stop propagating the watch limit fix.

For future visitors, @pomber's solution is objectively vastly better than increasing the watch limit:

Add this to your package.json:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

This should be the top answer. People - please bump this. Why would you simply say "oh, out of memory/resources - give it more memory/resources" without examining the cause?

@dominicfraser
Copy link

Future visitors and @sunnykeshri @JimmyBastos @BrotherDonkey @CodeMonkeyG, for my sanity please stop propagating the watch limit fix.

For future visitors, @pomber's solution is objectively vastly better than increasing the watch limit:

Add this to your package.json:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

This should be the top answer. People - please bump this. Why would you simply say "oh, out of memory/resources - give it more memory/resources" without examining the cause?

Create React App limits the keys that can be used within the package jest config - has anyone found a way to solve this in a CRA app?

@Mardoniosc
Copy link

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

Thanks resovel o problema já tava procurando a horas o que era esse rro

rhinodavid pushed a commit to rhinodavid/upswyng that referenced this issue Dec 1, 2019
I was getting an error when VSCode started: 'Starting Jest in Watch mode failed too many times and has been stopped'. This issue (jestjs/jest#3254) suggests ignoring node_modules, so I will try that.
@DrTexx
Copy link

DrTexx commented Dec 6, 2019

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

Just a note for improvement, you may be better off instructing users to check that flag/value doesn't already exist so they don't get duplicate instances of it. That or use some kind of tool for with this in mind.

rhinodavid added a commit to CodeForBoulder/upswyng that referenced this issue Dec 6, 2019
I was getting an error when VSCode started: 'Starting Jest in Watch mode failed too many times and has been stopped'. This issue (jestjs/jest#3254) suggests ignoring node_modules, so I will try that.
AlekseyMartynov added a commit to DevExpress/DevExtreme that referenced this issue Feb 4, 2020
@pradeepsr029
Copy link

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

Thank you for your best answer.

@karsa87
Copy link

karsa87 commented Mar 26, 2020

From my findings its not related to Jest at all. On Linux (or Mac) we have a max number of system watchers we can place at an IO level (from my understanding). So for large projects, it seems that Jest is trying to watch just way to many files.

To fix:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Source: Node.JS Error: ENOSPC

thank yout for you answer
it's work for me

@igorgoiis
Copy link

Thanks @maraisr

@jhanschoo
Copy link

jhanschoo commented May 27, 2020

Since the last few comments have been suggesting the earlier workaround, and the later fix is starting to get buried, I feel it is necessary to reiterate for future readers (and @pradeepsrawat029 @karsa87 @igorgoiis ) that you should first try the later fix if applicable, which was originally not possible because of a jest bug:

For future visitors, @pomber's solution is objectively vastly better than increasing the watch limit:

Add this to your package.json:

  "jest": {
    "modulePathIgnorePatterns": [
      "node_modules"
    ]
  }

This should be the top answer. People - please bump this. Why would you simply say "oh, out of memory/resources - give it more memory/resources" without examining the cause?

churkin added a commit to DevExpress/DevExtreme that referenced this issue May 28, 2020
* preact button

* add generator

* Template

* add generation to build task

* get generator from npm

* update generator

* Add the elementAttr property

* Add the type property

* skip known errors

* update generator

* update elementAttr

* change type for elementAttr

* remove test-list, test-button-group

* fix test-button jQuery wrapper

* fix memory leaks tests

* elements on refresh test increase timeout

* Update Button

* move declarations/component-declaration from js

* increase tick in elementsOnRefresh test

* update generator

* Rollback elementsOnRefresh and refix

* Update devextreme-internal-tools

* Revert "move declarations/component-declaration from js"

This reverts commit df2c2ec4dfdad96a071928ea2fb263710cbdb4c7.

* add babel-plugin-transform-object-assign, remove unused packages

* remove extra line

* Add tests for new components

* Add node env to eslint config

* Fix merge

* Rollback jQuery playground

* Fix warnings on generation

* Remove extra tsconfig

* fix lint errors

* Fix lint in themebuilder

* fix gulp tasks

* use full reporter in tsProject

* remove generated file

* ignore generated files

* move eslint node env setting to testing/renovation

* add empty line

* remove comment

* fix lint

* Update js/ui/test-button.tsx

Co-Authored-By: Alexander Ziborov <[email protected]>

* small refactoring

* fix warning

* small refactoring

* update generator

* Add BaseWidget component

* Remove TestDomComponent file

* update generator

* add Effect decorator

* Start adding tests for TestWidget

* Fix hot code transpiling in test environment (#11476)

* Add some tests to TestWidget

* Support aria attrs

* Add tests

* Add native events

* Add dxClick and dxHover events

* Add `activeStateUnit` private property

* Use TestWidget inside the TestButton

* Add the active event

* Fix tests

* Add keyboard support to button

* Add aria support

* Add undefiend fields check to avoid test crash

* Update generator

* Add test for ARIA

* Add test for 'disabled'

* Extend widget props

* Temporary workaround for Widget JSX Constructor (#11662)

* Temporary workaround for Widget JSX Constructor

* add empty line to the end of jsx.d.ts

* fix after review

* update package.json (#11675)

* Renovation: add Widget.accessKey tests (#11643)

* Renovation: add accessKey tests

* tests refactoring

* test-widget refactoring

* fix tests

* Run jest test on GitHub CI (#11697)

* Run jest test on GitHub CI

* add test_jest in travis and drone matrix

* JQuery widget: fix removing container attributes (#11690)

* JQuery widget fix removing container attributes

* fix onClick in button

* Renovation: add async qunit tests (#11713)

* Renovation: add async qunit tests

* fix remark

* fix tests

* Renovation: make renovation folder (#11696)

* Renovation: implement Button.stylingMode (#11735)

* Renovation: implement Button.stylingMode

* fix tests

* refactoring

* fix remarks

* fix remark

* Renovation: fix elementAttr property (#11739)

* Renovation: Implement default button behavior (#11743)

* Renovation: jest tests refactoring (#11788)

* Renovation: jest tests refactoring

* fix tests

* fix tests

* rewrite few tests

* Renovation: add keyboard tests (#11806)

* Renovation: add keyboard tests

* fix remarks

* Renovation: add hoverStateEnabled property tests (#11771)

* Renovation: add jest eslint rules (#11809)

* Renovation: add jest eslint rules

* use recommended rules

* fix ci

* Update .drone.yml

#11721

* Renovation: add Button's text tests (#11827)

* Renovation: add Button's integration tabIndex tests (#11826)

* Renovation: fix tests tsx compilation (#11822)

* Renovation: fix tests tsx compilation

* fix lint errors

* Update package.json

https://github.com/facebook/jest/issues/3254#issuecomment-488434727

* Renovation: implement Button.useSubmitBehavior (#11845)

* Renovation: implement Button.useSubmitBehavior

* fix remarks

* Move components input to separate class (#11872)

* Move components input to separate class

* fix 'Cannot find name 'h'.ts(2304)' in declarations

* fix error TS2345

* update generator

* remove component_declaration module

* Merge branch 'preact-button' of https://github.com/DevExpress/DevExtreme into new-design

# Conflicts:
#	js/renovation/button.tsx
#	js/renovation/widget.tsx

* Renovation: move click and key handlers into Button declaration (#11894)

* Renovation: move click and key handlers into Button declaration

* fix remarks

* Renovation: Rename declaration decorators (#11920)

* Renovation: inkRipple refactoring (#11916)

* Renovation: implement Button.useInkRipple (#11932)

* Renovation: Button.icon refactoring (#11948)

* Renovation: use tslint before commit (#11975)

* Merge 20_1 into preact_button (#11978)

* DataGrid: Fix scrolling if max-height of the widget container is set to a non-integer number of pixels (T849902) (#11632)

* TabPanel - Fix active tab switching on focusIn (T852689) (#11583)

* Fix active tab switching on focusIn (T852689)

* Tests for fix T852689

* Small refactoring

* Small fix

* Tests improvements

* Small refactoring

* Test refactorings

* Tests improvements

* fix tests for non jquery enviroment

* Small fix

* Small test refactoring

* Fix test for mobile devices

* Fix focusing for mobile devices

* Fix focusing logic

* Small refactoring

* Small fixes

* Pull request feedback

* Tets fix

* Small refactoring

* Small fix

* Refactoring

* Small tests refactoring

* Small tests refactoring

* Small test refactoring

* Tests refactorings

* Rid of unexpected borders for the DataGrid selected rows in generic light and dark themes (T853231) (#11665)

* Fix mock of window for server side tests (#11681)

* PivotGrid: Fix texts.emptyValue was not working (T852897) (#11671)

* Fix environment preparation for gesture cover tests (#11672)

* Fix environment preparation for gesture cover tests

* refactor

* Comment unstable assert in test (#11688)

* Fix DropDownEditor Popup position depending the "rtlEnabled" option value (T856114) (#11687)

* Fix Popup position of the DropDownEditor depending on "rtlEnabled" option value (T856114)

* refactoring

* Support date serialization formats for DateBox with list picker type (T854579) (#11695)

* DataGrid - Setting the isHighlighted option in the onFocusedCellChanging event handler does not work when the end user uses the Tab key to navigate between data cells (T853599) (#11667)

* Renovation: odata/mixins es6 refactoring (#11444)

* Renovation: Data Source refactoring (#11479)

* DataGrid: Fix onRowClick call on "Save" click when edit mode is "form" (T848729) (#11615)

* DataGrid: Fix onRowClick call on "Save" click when edit mode is "form" (T848729)

* Fix test

* Gantt: fix incorrect key value on assignment deleting (T850951) (#11704)

* UpdateCI - Functional tests - Added testCafe quarantineMode parameter and applied it for the Scheduler (#11640)

* UpdateCI - Functional tests - Added testCafe quarantineMode parameter and applied it for scheduler.

* A bit of refactoring

* A bit of refactoring

* DataGrid - Focused row should not being reseted after begin edit row if form edit mode (T851400) (#11620)

* DataGrid - Contrast Theme - Deleted records are not visible in Batch Editing Mode ( T856115) (#11702)

* Fix recurrence part position and size after daylights saving change (T804886, first step) (#11657)

* dxScheduler - fix recurrent appointment rendering with workWeek view (T853629) (#11660)

* Scheduler, remove skipTimezone checking after T834428 fixing (#11680)

* ExcelJS - changing 'wrapText' setting according grid.wordWrapEnabled option (#11701)

* ExcelJS - changing default value for 'autoFilterEnabled' property to false (#11700)

* Refactor some functions in Scheduler subscribes (#11712)

* Draft (#11715)

* Fix Scheduler tests in Tokyo and Australia timezones (#11722)

* Scheduler - Reduce test speed in unstable functional tests (#11706)

* Fix hiding tooltip by click issue (T850217) (#11720)

* Add missing tests on events for Popup and Overlay (#11719)

* Fix Lookup styles for compact themes (T856794) (#11725)

* Drone CI: colorized logs (#11721)

* Less refactoring for scss generation (icons, typography, button, buttonGroup, scrollView) (#11629)

* File Manager - Directory Chooser dialog text change (#11732)

* Draft

* Next iteration

* Implement dialogManager and add localizations constants

* Remove redundant code

* Fix up test

* Add confirmation dialog draft and move dialog inits to ctor

* Fix uncaught exception when a legend is hidden (T854736) (#11737)

* File Manager - Notification popup configuration (#11741)

* Draft

* Reset text alignment

* Option rename

* DateBox should not raise any errors when useMaskBehavior is enabled and locale digits are different to arabic digits (T851630) (#11678)

* Remove some code for deprecated formatWidthCalculator and closeOnValueChange DateBox options (#11736)

* File Manager - Change icon of filesView 'ParentFolder' item (#11634)

* Icon changed

* Breadcrumbs icon revert and filesView parentFolder icon change

* List (Sortable) - Fix item dragging to the top position when allowReordering is false (T856292) (#11729)

* List (Sortable) - Fix item dragging to the top position when allowReordering is false (T856292)

* Fix lint

* Do not use real clean-css module in some integration tests. (#11749)

* TreeView - fix docs for the rootValue (T854356) (#11718)

* Fix docs for the rootValue of the treeView (T854356)

* Small tests refactoring

* File Manager -  'File actions' button shape (#11746)

* File Manager - Thumbnails View - adjust icons size

* Next version

* Draft

* Revert "Next version"

This reverts commit cd99f05fc03c8d0d0b385d0722a66610757335b2.

* Next one draft

* Buttons and icons now are of default theme size

* Looks like not bad case

* Change focused icon color

* Remove comment

* Revert "File Manager - Thumbnails View - adjust icons size"

This reverts commit 92a82e828bfda3540da86e9c41e30b9cb494a27c.

* Change list icon in dark material theme (T857017) (#11752)

* SelectBox: add some event tests (#11756)

* Renovation: odata/store es6 refactoring (#11391)

* dxPieChart: Fix triggering onLegendClick for legend icon (T854491) (#11760)

* Add missing tests for a DateBox widget (#11733)

* Use bash arrays for Chrome args (docker-ci) (#11764)

* Scss generator (#11750)

* Drone CI - Add time zone argument to the test matrix (#11761)

* Drone CI - Add time zone argument to the test matrix

* Add TZ for Travis, Shippable

* QUnit: Rework API for ignoring uncleared timers (#11765)

* QUnit: Refactor to use one way for ignoring uncleared timers

* QUnit: Get rid of timerIgnoringCheckers.applyUnregister method

* QUnit: timerIgnoringCheckers -> timersDetector.ignoreRules

* QUnit: ignoreRules.needSkip -> ignoreRules.shouldIgnore

* QUnit: Get rid of ignoreAngularBrowserDeferTimer duplication

* QUnit: Refactor isThirdPartyLibraryTimer

* QUnit: Get rid of normalizedTimerInfo

* QUnit: Refactor spyWindowMethods

* QUnit: Consolidate all ignore rules for angular in one place

* QUnit: Log test failure when uncleared timers detected instead of global one

* Less: change icon mixin from 'selector' to 'parametrized' (#11763)

* Update README.txt

Sync with https://github.com/DevExpress/DevExtreme/pull/10897

* Remove advanceCaret DateBox option (#11768)

* Scrollable - check scroll position after update() (T848870) (#11766)

* DataGrid - column headers do not align with cells if showScrollbar is 'always' (#11758)

* Add missing NumberBox test (#11769)

* DataGrid: Fix selected checkboxes were not checked after page refresh if stateStoring is enabled and renderAsync is true (T857205) (#11773)

* Scss generator: additional widgets (#11782)

* Add bundled tests for "onInitialized" and "onDisposing" events (#11762)

* Add bundled tests for "onInitialized" and "onDisposing" events

* add LayoutManager to tests

Co-authored-by: AlekseyMartynov <[email protected]>

* Drone CI: reduce dotnet cache footprint  (#11783)

* ExcelJS - set vertical alignment for cell is 'top' as default (#11778)

* Add noClean option for devextreme-themebuilder (#11790) (#11799)

* Gantt: Add time intervals (#11776)

* DataGrid: The onFocusedRowChanged event firing refactoring (#11724)

* Fix passing of the event that caused the value to change when clicking the List item of the DateBox time picker (T858107) (#11800)

* DropDownButton: add some events tests (#11775)

* DropDownButton: add some events tests

* Fix widget behavior

- Possible problems with SSR (depends on specific config) has been resolved
- ContentReady event has been normalized
- OptionChanged issues has been resolver

* add one more test

* remove comma

* fix typo

Co-authored-by: Dmitry Levkovskiy <[email protected]>

* Diagram redesign (#11812)

* Diagram - UI changes (toolbox) + rename some files

* Fix linter errors

* QUnit: Enable errors for 'qunit/no-ok-equality' rule (#11816)

* Fix "Initialized and Disposing events" tests for IE (#11814)

* HtmlEditor: Ignore Quill timers in tests (#11818)

* Add missing TagBox tests (#11810)

* QUnit: Make extensions compatible with IE (#11843)

* Scss: add new widgets to generator (#11831)

* DataGrid: Fix cell was not highlighted after editing another cell and click (refix T836391) (#11659)

Co-authored-by: AlekseyMartynov <[email protected]>

* DOTNET_USE_POLLING_FILE_WATCHER=true (docker-ci) (#11855)

* FileManager - Update result type for file provider's methods (#11853)

* Scss: add new widgets to generator (#11868)

* ThemeBuilder tests refactoring (#11801)

* DataGrid: Fix group cell that has the dx-datagrid-hidden-column class when the hidingPriority property is specified for a grid column (T857506) (#11833)

* DataGrid: Fix group cell that has the dx-datagrid-hidden-column class when the hidingPriority property is specified for a grid column (T857506)

* Fix lint

* Support ScrollView reachBottom event for dropDownLists keyboard navigation if the browser is zoomed (T858013) (#11851)

* dxScheduler - fix appointment popup on closing (T854500) (#11754)

* Fix angular typescript hack (#11884)

* Fix FF test after #11724 (#11876)

* Widgets: Eliminate global object pollution (#11887)

* CollectionWidget: Remove globals in tests

* Tooltip: Do not set 'aria-describedby' to window

* TreeList: Fix values were not assigned by e.promise in onInitNewRow (T857405) (#11794)

* Fix Calendar accessibility issues (#11846)

* Fix Calendar accessibility issues

* Calendar views refactoring

* base view refactoring

* remove code duplication

* Update cache before callBase

* Support zero value as a new selected item key for the DropDownButton (T858013) (#11880)

* DataGrid: Remove globals in tests (#11888)

* FileManager - Add public constructor for FileManagerItem class (#11885)

* TreeList: Add node property for a detail adaptive row (#11871)

* ExcelJS - add doс comments for arguments of the 'exportDataGrid' function (#11807)

* TreeList: Fix navigateTo to the same page with row expanding after #11724 (#11895)

* Don't hang if QUnit runner is broken (docker-ci) (#11897)

* Update docker-ci.sh

Quotes

* Revert "ExcelJS - add doс comments for arguments of the 'exportDataGrid' function (#11807)" (#11898)

* Merge js/events.d.ts into js/events/index.d.ts (#11901)

* DataGrid - KeyboardNavigation - Replace pointerUp with pointerDown (#11900)

* DataGrid - KeyboardNavigation - Replace pointerUp with pointerDown

* Fix fileManager tests

* Fix treeList tests

* Fix tests in FF

* Fix IE test

* FileManager - Update public API (#11905)

* File Manager - UploadPanel items appearance (#11907)

* RadioGroup: add some event tests (#11866)

* TreeList: Fix getSelectedRowsData method when calling navigateToRow in the onNodesInitialized event (T858312) (#11904)

* ExcelJS - add doс comments for arguments of the 'exportDataGrid' function (#11912)

* Diagram - fix server-side rendering test (#11913)

* DataGrid: Fix onFocusedRowChanged firing on scroll if autoNavigateToFocusedRow is false after #11724 (#11910)

* Fix zero-time appointment width in month & timelineMonth views (T858496) (#11860)

* Fix zero-time appointment width in month & timelineMonth views (T858496)

* rename index

* Refactor

* Drone CI - Fix setting timezone (#11906)

* Drone CI - Fix setting timezone

* Drone CI - Correct timezones

* List: Fix incorrect dragged item render if RTL is enabled (T859557) (#11918)

* Fix "event" argument of the Switch "valueChanged" event when value changed by gesture (T860005) (#11922)

* File Manager - ProgressPanel close button alignment (#11926)

* File Manager - ProgressPanel close button alignment

* Now it's more aligned

* Update docker-ci.sh

* run_$TARGET convention (docker-ci)

* Update ja.json (#11879)

* Update ja.json

Added localizations for Max and Min

* Update ja.json

localized dxDataGrid-summaryAvg as well

* FileManager - Update FileSystemProviderBase.getItems() method signature (#11933)

* Update localization.js

Give names to a bunch of <anonymous> tasks

* ExcelJS - rename cellsRange to cellRange (#11936)

* DataGrid: fix column header's sort icon remains after grouping by this column if showWhenGrouped (T859208) (#11914)

* dxLookup - Fix field paddings in the Material theme

* DataGrid - Click by command select cell should not highlight focus if editing is enabled (refix T836391) (#11937)

* CI: QUnit runner watchdog (#11938)

* ExcelJS - change doc comments (#11935)

* Don't build all themes in TEST_CI mode (#11939)

* Update aspnet.tests.js

spy.restore()

* File Manager - ProgressPanel file icons size (#11950)

* FileManager - Progress panel close button alignment (#11951)

* File Manager - ProgressPanel close button alignment

* Now it's more aligned

* File Manager - ProgressPanel close button alignment

* Diagram - redesign (add history toolbar and view toolbar) (#11944)

* Diagram - add history toolbar + viewSettings toolbar - first commit

* Diagram - commands refactoring

* Diagram - add an ability to check context menu items

* Diagram - context menus refactoring

* Diagram - context menu icons fix

* Diagram - fix select box commands

* Diagram - toolbars refactoring + tests

* Fix tests

* Fix tests

* Fix tests

* Fix the knokout binding with the observable array in the Form (#11923) (#11954)

* FileManager - Update CustomFileSystemProviderOptions declarations (#11952)

* FileManager - Update event / callback function signatures (#11953)

* Draggable: fix clone had incorrect direction if rtlEnabled (T859557 refix) (#11928)

* Fix label and bar point overlapping on the edge of pane (T856746) (#11955)

* Fix double min-width rule in the CSS bundle (#11960)

* ASP.NET: warning about the alternate template syntax (#11934)

* Limit DropDownLists popup height if the container is larger than a window (T859133) (#11949)

* FileManager - Add upload.chunkSize option (#11966)

* Fix after merge

Co-authored-by: Konstantin Volnyagin <[email protected]>
Co-authored-by: Sergey Novikov <[email protected]>
Co-authored-by: kotov.alexander <[email protected]>
Co-authored-by: Andrey Ignatovskiy <[email protected]>
Co-authored-by: Jaan Toming <[email protected]>
Co-authored-by: Dmitry Levkovskiy <[email protected]>
Co-authored-by: Alexey Kamyshin <[email protected]>
Co-authored-by: Igor Maltsev <[email protected]>
Co-authored-by: Alyar <[email protected]>
Co-authored-by: Alexander Zelevinskiy <[email protected]>
Co-authored-by: Anton Sermyazhko <[email protected]>
Co-authored-by: Yana Yarovaya <[email protected]>
Co-authored-by: Smirnova Yuliya <[email protected]>
Co-authored-by: EugeniyKiyashko <[email protected]>
Co-authored-by: Stanislav Klesarev <[email protected]>
Co-authored-by: polosatov.alexander <[email protected]>
Co-authored-by: AlekseyMartynov <[email protected]>
Co-authored-by: Alexey Babich <[email protected]>
Co-authored-by: Anton Kuznetsov <[email protected]>
Co-authored-by: Alexander Bezborodov <[email protected]>
Co-authored-by: Alexander Ziborov <[email protected]>
Co-authored-by: Stepan <[email protected]>
Co-authored-by: Roman Rodin <[email protected]>
Co-authored-by: Vladimir Kovalev <[email protected]>
Co-authored-by: ilya.kharchenko <[email protected]>
Co-authored-by: AlisherAmonulloev <[email protected]>
Co-authored-by: groshenkovamarina <[email protected]>
Co-authored-by: Dmitry Semenov <[email protected]>
Co-authored-by: pavelgruba <[email protected]>

* Renovation: implement button's iconPosition (#11757)

* Renovation: implement base widget focus and add icon test (#11711)

* Renovation: get rid of Actions (#11962)

* Renovation: add onVisibilityChange callback functionality (#11830)

* Renovation: pass click event into Button's click (#12054)

* Renovation: implement Button.template (#11899)

* Update docker-ci.sh

This should resolve "npm ERR! Cannot read property 'match' of undefined"

* Move icon to dedicated component (#12135)

* Renovation: add old tests for renovation button (#12140)

* Fix button ARIA functionality (#12151)

* Renovation: correct template tests for new button (#12153)

* Renovation: fix IE errors when using template wrapper (#12154)

* Renovation: fix template wrapper with text node child (#12159)

* Default option rules (#12158)

* Renovetion: Implement defaultOptionRules

* use jest mocks instead of sinon

* remove sinon

* fix after review

* DroneCI - DataGrid - Fix tests for the latest FF (#12106)

* Prepare tests for build image update (#12162)

* Update Drone CI environment

* DataGrid - Wrong freeSpace row height calculation in FF 70.0+ (#11983)

* DataGrid - Wrong freeSpace row height calculation in FF 70.0+

* Extract height correction logic

* Simplify height correction logic

* Fix tests

* Improve tests

* Renovation: pass event on keyboard press (#12136)

* Renovation: add onContentReady property to button and widget (#12174)

* Renovation: Move viewModel to class with component declaration (#12188)

* Move viewModel to class

* Update generator version

* fix review remarks

* fix regression

* Move template's 'model' param to jQuery widget (#12223)

* Renovation: refactor actions in button (#12274)

* Removation: implement validationGroup (#12280)

* Renovation: implement submit behavior (#12299)

* Renovation: code coverage for jest tests (#12328)

Co-authored-by: Andrey Churkin <[email protected]>

* Renovation: jest tests refactoring (#12346)

Co-authored-by: Andrey Churkin <[email protected]>

* Renovation: remove unstable button qunit tests (#12347)

* Add Angular and React generators  (#12352)

* add generate-angular, generate-react gulp tasks

* import click and hover

* add angular and react apps to playground

* add readme and tsconfig

* fix support import in pointer module

* update generator-version

* rollback extra change

* rename parameter

* extract base tsconfig

* fix remark

* add eslintignore for react and angular

* rework ignoring eslint rules for playground

* Skip default options generation for Icon and widget components (#12360)

* Skip generating defaultOptions for icon and widget

* set coverege threshold 100

* Do not build scripts before jest test

* update generator version

* generate components before jest test

* Renovation: refactor template render (#12371)

* Add the ErrorMessage component (#12357)

* Add validation declaration component

* Edit tests

* Remove excess comments

* Fix tests

* Fix test code coverage

* fix merge

* Fix merge#2

* fix merge#3

* Fix IE test

* Fix events declaration (#12515)

* Refactor icon condition in button (#12478)

* Renovation: Preparations for jQuery generation (#12527)

* Renovation: add SSR for Button (#12488)

* Renovation: save custom classes on type changes (#12547)

* Renovation: provide custom sizes from styles (#12580)

* Renovation: add anonymous template (#12599)

* Renovation: render or remove Ink Ripple on useInkRipple change (#12554)

* Renovation: merge 20_1 into preact-button (#12705)

* Renovation: add checking of parent node on render (#12676)

* Renovation: add setAria method into preact wrapper (#12703)

* Renovation: implement registerKeyHandler (#12748)

* Renovation: rename onKeyPress property to onKeyDown (#12759)

* Prepare to JQuery generation (#12750)

* Renovation: add gulp tasks to build react and angular (#12777)

* add @types/enzyme (#12789)

* Renovation: Add the ability to test declaration, fix react warnings (#12755)

* Renovation: Add the ability to test declaration, fix react warnings

* fix tests, rename Input --> Props

Co-authored-by: Andrey Churkin <[email protected]>

* Add capability to spread rest attributes (#12455)

Changed `hasClass` to `includes` because I removed `className` property.

See documentation of [hasClass](https://enzymejs.github.io/enzyme/docs/api/ShallowWrapper/hasClass.html)
> Returns whether or not the wrapped node has a `className` prop including the passed in class name.

* Renovation. Turn on jQuery generator (#12793)

* Fix missed extend issue (#12807)

* jQuery based selectbox and numberbox (#12794)

* Remove using $ and onValueChanged (#12847)

* Remove restAttributes prop from widget (#12840)

* jQuery generator. Add Actions for Events (#12884)

* Renovation: extract common props from the widget component (#12886)

* Create base component for legacy button (#12914)

* Renovation: Get rid of tslint (#12897)

* get rid of tslint

* merge

* fix linter

* fix jest tests

* fix jest tests

* fix button.d.ts

Co-authored-by: Andrey Churkin <[email protected]>

* use eslint-config-devextreme package (#12946)

Co-authored-by: Andrey Churkin <[email protected]>

* use global event mock (#12955)

* Fix lint warnings in the jest tests (#12951)

Co-authored-by: Andrey Churkin <[email protected]>

* App vue playground (#13107)

* Add vue app into playground

* Fix gulp file

* update readme

* disable eslint

* Renovation: Pass original event into onClick (#13127)

* Renovation: Add CRA in playground (#13159)

* remove system js app

* Add react cra in playground

* Update generator

* Fix tests

* try to disable eslint

* Merge with 20_2 (#13189)

* Scss generator: fix regex and task name (#12650)

* Resizable: add some event tests (#12606)

* dxPieChart: fix resolving to the overlapping point labels (T877200) (#12658)

* File Manager - Fix custom items visibility in file toolbar (#12657)

* File Manager - Fix custom items visibility in file toolbar

* Code refactored

* Diagram - update core version (#12662)

* Fix Scheduler rendering when rtlEnabled = true (T850771) (#12628)

* DataGrid: Fix data loading on scrolling after deleting several rows if scrolling mode is infinite and refreshMode is repaint (T862268) (#12638)

* FileManager - Fix selection clearing in single selection and focused item updating during navigation (#12661)

* FileManager - Fix selection clearing in single selection and focused item updating during navigation

* update test - support focused item

* add test

* NumberBox: it should be possible to set negative value when min is null (T876378) (#12653)

* DataGrid - Fixes SelectAll state when all items in the header filter are deselected (T875471) (#12627)

* Diagram - rename API (childrenExpr => containerChildrenExpr) (#12667)

* dxGantt: Fix editing and validation API (#12670)

* DataGrid - Fixes the expand state changing of a group row when the Enter Key is pressed (T869799) (#12652)

* Update jQuery to version 3.5.0 (#12672)

* chore(package): update jquery to version 3.5.0

* Fix unit tests

* fix export test

Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: EugeniyKiyashko <[email protected]>

* revert test (#12659)

* FileManager - Fix customizeDetailColumns argument type (#12678)

* DataGrid: Fix loading all items for 'anyOf' operation if headerFilter.dataSource is used (T876959) (#12671)

DataGrid: Fix loading all items for 'anyOf' operation if headerFilter.dataSource is used (T876959)

* dxViz: Fix font opacity for tooltip (T879069) (#12684)

* Fix the scrolling and display the navigation buttons when the asynchronous templates are used (T875754) (#12663) (#12681)

* DataGrid - The custom button template content is not rendered if renderAsync is true (T876950) (#12668)

* Drawer - Add 'minSize' tests (#12673)

* Add 'minSize' tests

* Remove checks in invisible state

* lint: change var to let

* Correct getBoundingClientRect usage: the returned object should not be modified.

* HtmlEditor - Allow to delete selected images (T878203) (#12687)

* DataGrid: Fix incorrect cell focus after editing bool column with virtual row rendering (T872126) (#12636)

* Revert "revert test (#12659)" (#12700)

This reverts commit 64bd346bba40b1dcb953d291f26efb5ce6f1a520.

* Get rid of redundant code in Intl integration (#12699)

* Diagram - UI/UX fixes (#12682)

* Diagram - mobile UI - hide toolbox when text editing is started

* Diagram - update toolbox size after filtering

* Diagram - fix that it's not possible to hide toolbar submenu on touch devices without click on its subitem

* Diagram - update core package

* Diagram - force restart tests

* Diagram - update core version

* dxDiagram - hide viewpanel while mobile toolbox is visible, fix adaptive calcs (#12704)

* ExcelJS - mark the old export options as deprecated (#12696)

* Revert ssr test (#12690)

* Fix Scheduler tests in Edge (#12688)

* FileManager - Fix missing column properties (#12711)

* Update the "dropDownOptions" option type for the Lookup (#12712)

* Create stale.yml

* Update the "dropDownOptions" option type for Lookup

* Delete stale.yml

* dxChart - fix labels overlapping for small bars (T869506) (#12686)

* PivotGrid: Fix sorting icon is positioned incorrectly when header text was wrapped to the next line (T878428) (#12708)

* DataGrid: Fix incorrect rowIndexes in cellTemplate if row rendering is virtual (T878343) (#12694)

* Fix appointment-tail calculation in Scheduler (T854740) (#12691)

* Fix Scheduler long-appointment overlapping (T864456) (#12692)

* DataGrid - Fixes focusing row when a command button is clicked (T879627) (#12706)

* DropDownList and Lookup: get rid of qunit-fixture styling (#12697)

* Autocomplete: add some event tests (#12715)

* dxChart - fix tooltip behavior on touch devices (T856700) (#12718)

* Fix Scheduler tests in Edge (#12722)

* FileManager - Fix selection clearing during refresh (#12721)

* FileManager - Fix method return type for documentation (#12734)

* FileManager - Update toolbar clear selection command name (#12731)

* FileManager - Update API for obtaining the FileSystemItem extension (#12732)

* FileManager - Fix allowedFileExtensions option default value (#12738)

* ContextMenu - Fix changing visible option (T879766) (#12693)

* Bugfix T879766

* Pull request feedback

* PR feedback

* dxGantt: Add icons and hints to bars (#12737)

* File manager - Fix toolbar separators calculation (#12698)

* Fix problem with item location

* Fix problem with empty group

* fix compact mode issue

* Fix issue with custom toolbar items in compact mode

* Code refactor

* Remove redundant argument

* Apply workaround for regression with item render in menu after first load

* Code refactor

* Refactor a bit

* Update test

* Diagram - UI/UX fixes (#12727)

* Diagram - fix show/hide a toolbar submenus

* Diagram - refactor context menus + fix JS error on fullscreen toggle

* Diagram - fix z-order of panels(toolbox/properties panel) and context menu/toolbox + refactoring

* Diagram - fix toolbars context menu incorrect showing + refactoring

* Fix tests

* Fix tests on Touch devices

* dxGantt: Fix toolbar items (#12744)

* File Manager - Fix toolbar items default location (#12745)

* File Manager - Fix toolbar items default location

* Code refactor

* File manager - Fix possibility to specify toolbar items by option full name (#12749)

* Add test

* Add fix

* Refactor

* Diagram - update core package (#12746)

* Diagram - update core package

* Bump DevExtreme version (#12752)

* dxToolbar - Fix internal menu styles (#12714)

* File manager - Support compact mode for custom toolbar items (#12754)

* Add test

* Add fix

* Refactor

* Now compact only if it's button with icon & text

* Refactor

* FileManager - Fix directory renaming when allowedFileExtensions specified (#12761)

* DataGrid - Fixes highlighting unmodified invalid cells in the Batch editing mode (T880238) (#12739)

* FileManager - Fix selection changed event for select all operation (#12764)

* Sortable: Fix reordering of items in nested sortable (T875890) (#12720)

* File Manager - Fix native scroll in thumbnails view mode (#12769)

* Add scrollView to thumbnailsView

* All views must keep scroll position for sync focused item

* Fix tests for mobile devices

* Refactored a bit

* Add keyboard navigation test for thumbnails view

* Temprorary remove test

* Editor should validate the current value before the "valueChanged" event occurs (T878544) (#12741)

* DataGrid - Fixes expandRow (T880769) (#12765)

* Drawer - Mobile keyboard causes overlapping drawer to be positioned incorrectly(T865716) (#12753)

* DataGrid: Fix columnChooser scrolled up after item selection (T880276) (#12756)

* DataGrid: Rework selectionFilter simplification if deferred selection is used (T814753, T874992) (#12728)

* FileUploader - The uploadChunk function does not work with the native Promise objects (T881508) (#12782)

* ESlint: Use "qunit/recommended" and "qunit/two" presets (#12772)

* ESlint: Use "qunit/recommended" preset

* ESlint: Use "qunit/two" preset

* ESLint: Remove rules included in presets

* File Manager - Fix custom thumbnails size (#12786)

* FileManager - Fix IE tests (#12790)

* FileManager - Fix IE tests

* fix test

* Drawer - deprecate the 'target' option (T863881) (#12760)

* Toolbar - deprecate height option (#12766)

* Deprecase height in toolbar

* Fix deprecated text

* Test for deprecated option

* Update js/ui/toolbar.js

Co-Authored-By: RomanTsukanov <[email protected]>

* Fix test text

* Pull request feedback

Co-authored-by: RomanTsukanov <[email protected]>

* DataGrid: Fix incorrect row render after scroll if scrolling and row rendering are virtual (T750279) (#12762)

* Add config for the Stale bot (#12733)

* dxViz: Refactoring (es6) (#12796)

* File manager - Fix progress panel 'no operations' text (#12797)

* Add tests

* Add fix

* Fix Scheduler timelineWeek rendering with groupByDate & crossScrolling (T853642) (#12735)

* Diagram - add ability to set up initial settings for items (#12798)

* Diagram - add ability to set up initial settings for items

* Rename options

* DataGrid: Fix row dragging if remote data with slow connection is used (T867087) (#12799)

* DataGrid - Adds a test for (T878218) (#12781)

* TextEditor - Prevent custom buttons overlapping in ie11 (T879885) (#12795)

* FileManager - Fix thumbnails view single selection synchronization with focused item (#12806)

* FileManager - Fix thumbnails view single selection synchronization with focused item

* fix selecteAll() in multiselection mode

* ESLint: Enable errors for "qunit/no-commented-tests" rule (#12771)

* ESLint: Enable errors for "qunit/no-commented-tests" rule

* Uncomment and skip tests

* DataGrid: Fix new row's cell value was not displayed for lookup column (T879946) (#12802)

* Color swatch will use the same typography settings as the main theme (#12780)

* Color swatch will use the same typography settings as the main theme

* Update themebuilder/modules/less-template-loader.js

Co-Authored-By: Sergey Zvyagin <[email protected]>

* remove unnecessary escape

* simplify regex

Co-authored-by: Sergey Zvyagin <[email protected]>

* dxGantt: Fix error on adding an item next to the root one (#12811)

* DataGrid: Fix wrong rowspan for band columns if showWhenGrouped (T881055) (#12791)

* DataGrid: Move test modules to the modern syntax (Part 2) (#12808)

* DataGrid - Columns become out of sync (T844512) (#12804)

* Fix prefer-const eslint warning for TreeList and PivotGrid (#12817)

* Diagram - prevent unexpected cancel text editing if the toolbox or properties panel is visible (#12822)

* Revert "TextEditor - Prevent custom buttons overlapping in ie11 (T879885) (#12795)" (#12824)

This reverts commit 489796991c1187c88149b350a838804a6be248f4.

* Fix drawing image annotations when customizeAnnotation used (T881143) (#12827)

* Fix drawing image annotations when customizeAnnotation used (T881143)

* dxGantt: Fix page hanging problem (T856646) (#12829)

* Fix prefer-const warning for DataGrid (#12825)

* Diagram - update core package (style objects can accept css text) (#12832)

* FileManager for Knockout - ViewModel binding doesn't work (T861302) (#12833)

* Scss ThemeBuilder: metadata generator, base compiler (#12775)

* DateBox: validation callback should be called only once when value changes (T879881) (#12770)

* Autocomplete: dataSource should load new items only when searchTimeout is up (T880996) (#12820) (#12837)

* Viz: Fix prefer-const ESLint warnings (#12841)

* Fix prefer-const ESLint warnings (#12843)

* ESLint: Enable errors for the "prefer-const" rule (#12842)

* Tune date parts selection behavior of the DateBox with useMaskBehavior (T882025) (#12839)

* Set release versions for dxGantt and dxDiagram (#12866)

Co-authored-by: kruglikov.stepan <[email protected]>

* DataGrid: Fix different behavior between tree and list header filters (T881628) (#12831)

* dxViz: Fix behavior of holding (T880908) (#12855)

* Diagram - the onOptionChanged event isn't raised for the "hasChanges" option if the control is bound (T883021) (#12864)

* Diagram - the onOptionChanged event isn't raised for the "hasChanges" option if the control is bound (T883021)

* Fix test

* DataGrid - Fixes freeSpace row resizing on virtual row rendering (T881439) (#12848)

* File Manager - Update error texts (#12873)

* Make a change

* update tests

* Fix the min-width CSS style for the ResponsiveBox item in the row direction (T878630) (#12846)

* fix minWidth of box item by row direction

* fix mobile tests

* fix IE tests

* remove tests

* File Manager - Add server rendering tests (#12872)

* Add first test, works well

* Move test to another file, improve it, update existing tests

* Move scrollView tests, add some new tests

* kinda not-working test

* Temporarily remove excess test

* Trying fix default render test

* Fix IE test

* Refactor

* DataGrid - The group panel does not display correctly when dragging columns into it (T880880) (#12858)

* DataGrid - The group panel does not display correctly when dragging columns into it (T880880)

* Add rough comparing for IE test

* File Manager - Fix select all in thumbnails view (#12883)

* Add test

* First approach

* Revert "First approach"

This reverts commit 233702c679bd3f920bc7b2d18f5c87655402db38.

* Improve test

* Fix

* Split up test into 2 parts

* DataGrid - Fix filtering with an incomplete "between" filter value (T882759) (#12878)

* DataGrid - Fix filtering with an incomplete "between" filter value

* Fix test

* DataGrid: Fix pageIndex updating during virtual scroll to last page if last page size less than viewport size (T866890) (#12851)

* TagBox - mark selected items in filtered results (T880346) (#12887)

* TextEditor - Prevent custom buttons overlapping in ie11 (T879885) (#12890)

* DataGrid: Fix focus overlay was visible during column resizing (T882682) (#12849)

* DateBox: fix unstable tests (#12885) (#12893)

* FileUploader - Accessibility - The file input element does not have the aria-* attributes and does not allow to set one (T876739) (#12894)

* Diagram - fix initial options and core synchronization (#12891)

* Diagram - fix initial options and core synchronization

* Add autoZoomMode test + tests refactoring

* Diagram - update core package

* dxChart - add option to make tooltip interactive (#12896)

* Sortable: Fix drag and drop in RTL mode when itemOrientation is horizontal (T877953) (#12813)

* Sortable: Fix drag and drop in RTL mode when itemOrientation is horizontal (T877953)

* Fix lint

* Fix unstable charts' tests (#12902)

* Fix dxList memory leak in material theme (T882408) (#12907)

* Skip test for T882682 (#12905)

* FileManager - Fix FileSystemProvider doc-comments (#12910)

* DataGrid - Fixes duplicated characters in Firefox (T882996) (#12875)

* ExcelJS - specify direct alternative for exportToExcel(selectionOnly) as exportDataGrid (#12898)

* Scheduler - Recurrence appointments should have correct time if BYMONTHDAY rule (Refix T868401) (#12901)

Co-authored-by: Anton Sermyazhko <[email protected]>

* Fix grouped agenda rendering in Scheduler (T683374) (#12863)

* Fix grouped agenda rendering in Scheduler, material theme and rtl (T683374)(#12920)

* Scheduler - Month view should have default height in the generic themes (T882020) (#12857)

* Scheduler - Month view should have default height in the generic themes (T882020)

* Take two

* Correct tests for FF, ie11

* Declare month view rows count as constant.

* Refix - Set "min-height" for scrollable container instead of height. Extend tests.

* Optimization of using the test wrapper

* Fix timeline group header cell height + extend tests

* Correct timeline data cell height

Co-authored-by: Anton Sermyazhko <[email protected]>

* DataGrid: Fixed test for T882682 (#12912)

* ScrollView - The scrolling operation is interrupted on touch devices (T886654) (#12917)

* DropDownBox should consider `popupPosition` (T884469, stage 1) (#12931)

* DropDownButton should consider `popupPosition`(T884469, stage 1)

* Fix test for IE11

* TabPanel - fix borders ( T879157) (#12747)

* Gantt: update core IModelChangesListener signature (T848234) (#12943)

* TabPanel - multiview style should be applied only to the widget (#12944)

* DataGrid - Fixes focusing command cells on Tab (T884646) (#12922)

* Change export of ODataContext (T886254) (#12924)

* dxChart: Add the 'position' option to axis' label (#12932)

* Throw a warning message for toolbar.height and drawer.target options only once if widget was initialized with using these options (#12945)

* Custom File Provider - Declaration for the uploadFileChunk method misses the destinationDirectory parameter (T887298) (#12941)

* Custom File Provider - Declaration for the uploadFileChunk method misses the destinationDirectory parameter (T887298)

* fix ts build

* FileUploader - The format of arguments is incorrect in the uploadFile method (T887206) (#12938)

* DateBox: valueChanged event should be fired after input clearing undo (T878918) (#12915)

* Fix Scheduler recurrenceEditor readOnly state for disabled appointments (T880614) (#12918)

* DataGrid: Fix column widths after virtual scrolling in Safari if rowTemplate is defined (T878862) (#12928)

* DataGrid: Fix column updating during resize (T881314) (#12899)

* Remove unexpected DateBox warnings after rendering (T887580) (#12950)

* Remove unexpected DateBox warnings after rendering (T887580)

* Update default options and tests

* TextEditor - collapse input container in ie11 only if the container has enough width (#12911)

* DropDownBox - call displayValueFormatter only once on init (T883129) (#12952)

* Throw a warning message for toolbar.height and drawer.target options only once if widget was initialized with using these options (#12954)

* Fix Scheduler agenda in material theme (#12942)

* Bugfix colors of the marks in the form (T882067) (#12927)

* Github CI: Replace sleep to runner response waiting (#12961)

* Button - Fixes submitting a form when AsyncRule is passed (T887207) (#12934)

* Scheduler - Rename 'allowEditingTimeZones' -> 'allowTimeZoneEditing' (#12935)

* Scheduler - Rename 'allowEditingTimeZones' -> 'allowTimeZoneEditing'

* Fix using 'allowEditingTimeZones' option

* Update TS declarations

Co-authored-by: Anton Sermyazhko <[email protected]>

* Github Actions CI:  Write runner results to stdout (#12962)

* TextEditor - revert input container collapsing in ie11 (T879885) (#12966)

* dxVectorMap: fix custom store load with raw option (T885056) (#12959)

* Gantt: fix custom fields int the autoUpdateParentsMode (T887279) (#12963)

* Gantt: fix custom fields int the autoUpdateParentsMode (T887279)

* Gantt: fix custom fields int the autoUpdateParentsMode step 2 (T887279)

* Gantt: fix custom fields int the autoUpdateParentsMode step 3 (T887279)

* Rollback 'export default' for ODataContext and ODataStore (#12969)

* fix validation summary when validation rules are changed dynamically (#12964) (#12975)

* Tabs - fix icon alignment, if text is not defined (T885520) (#12947)

* Bugfix icon alignment (T885520)

* Fix tests

* dxVectorMap - fix dataSource doc (T887537) (#12977)

* DataGrid: Fix columns without dataField were not hidden (T885383) (#12948)

* dxViz: Fix axis' label alignment for default (by theme) cases (#12980)

* Diagram - It's possible to modify the background color via code in read only mode (T887099) (#12976)

* GitHub Actions CI: Get QUnit runner port from ports.json config (#12996)

* VectorMap. Implement drawing polygon&multipolygon elements from one source (#12983)

* dxLookup - Fix behavior if turn on the fullScreen option (T885130)

* DataGrid - Prevents onSelectionChanged from firing when deferred selection and state storing are enabled (T885777) (#12984)

* Update localization (#12973)

* Update jQuery to version 3.5.1 (#12998)

* Log jQuery version

* Update jQuery to version 3.5.1

* Revert "Log jQuery version"

This reverts commit 9e965bea136083c18e919747f36e7ea3fe9fc34e.

* Fix lost aspnet.createComponent calls, part II (fixes T886572) (#12979)

* Add swatches support for scss Themebuilder (#12965)

* DataGrid - Fixes applying pager options when repaintChangesOnly is enabled (T886628) (#13000)

* FileManager - A context menu is re-created after changing the disabled property of a specific item (T887308) (#12989)

* ESLint: Update to v7.0 (#12995)

* Shceduler - Deprecate 'allowEditingTimeZones' (#13002)

* Fix Scheduler localization in appointment popup, first step (T887054) (#13008)

* Fix Scheduler shader position for small screen (T886366) (#13013)

* PivotGrid: Fix uneccessary render on expand header item if store is not defined (T887002) (#12981)

* DataGrid: Fix invalid editor refocusing without timeout on document click in ios (T837043) (#12956)

* update versions 20_2 (#13019)

* ESLint: Add Node plugin with recommended preset for /build folder (#12994) (#13020)

* ESLint: Add node plugin with recommended preset

* ESLint: Disable "node/no-unpublished-require" rule

* ESLint: Specify Node version for "no-unsupported-features/node-builtins" rule

* ESLint: Configure "shebang" rule

* Use strict

* new Buffer(string) -> Buffer.from(string)

* Ignore remaining lines

* Disable doubtful rules

* Fix - Scheduler should not ignore BYSETPOS=-1 in recurrent rule if FREQ is lower than date range in the current view (T886991) (#13025)

Co-authored-by: Anton Sermyazhko <[email protected]>

* Refactor DOM utils  (#13021)

* Fix drawing of empty text as categories(T888028) (#13035)

* Fix drawing of empty text as categories(T888028)

* Small fix in Scheduler shader position (#13017) (#13026)

* Diagram - move to development version(20.2) of the diagram core package (#13030)

* Fix unexpected data request by RadioGroup without initial value (T887090) (#13024) (#13037)

* Fix unexpected data request by RadioGroup without initial value (T887090 )

* Complex item with null value should be selectable

* Drone CI - Add QUARANTINE_MODE for TestCafe tests (#13047)

Co-authored-by: Anton Sermyazhko <[email protected]>

* Make events engine to not fall with SVG (#13045) (#13052)

* DataGrid - The "Export all data" toolbar item is rendered incorrectly (T886693 ) (#12991) (#13051)

* Use screenshots tests instead of qunit (#13023) (#13063)

* Diagram - publish getNodeDataSource and getEdgeDataSource methods (#13065)

* Fix German and Japanese localization (#13068)

* DataGrid - Prevents the content from scrolling on refresh (T884308) (#13056)

* DataGrid: Fix ts definitions for 'anyof'/'noneof' filter operations (T885463) (#13069)

* dxScheduler - remove customizeStoreLoadOptionsHandler parameter (#12266) (#13074)

* Remove customizeStoreLoadOptionsHandler method

* Remove test

* Separate test (#12779) (#13075)

* dxScheduler - Recurrence appointment date should be displayed equal to the targetedAppointmentData date in appointment popup from form(T882652) (#13072)

* dxScheduler - Recurrence appointment date should be displayed equal to the targetedAppointmentData date in appointment popup from form(T882652) (#12870)

* Fix

* create _getCurrentAppointmentData method

* Add test

* fix stylelint

* dxTabPanel - extra borders on the tabs element in Rich editor (#13029) (#13031)

* Move dx-tools to tag stable v20.2 (#13076)

* DataGrid - Prevents focusing hidden cells (T887014) (#13050)

* Fix dxDataGridMethods.exportToExcel deprecation (#13084)

* Update README (#13018)

* Update README

* Update README

* Update README.md

Co-authored-by: arminal <[email protected]>

Co-authored-by: arminal <[email protected]>

* Fix task crash on npm ls error (#13085)

* DataGrid - Fixes the searchPanel.text value when state storing is enabled (T887758) (#13079)

* Tabpanel -  change priority in styles for width of Tab (#13090)

* Override base event parameters for treeview (treeview doesn't provide info about added items and removed items) (#13044)

* Extract `data-options` logic from dom utils (#13082)

* TreeView - change visibility item logic (T888410) (#13032) (#13093)

* Change visibility logic.
Node must have invisible class if item's visibility is set to false (T888410)

* More test cases

* More test cases

* Simplified tests

* PR feedback

* Fix test

* Test naming

* dropDownButton - change horizontal paddings if the widget has no dropdown arrow (T888866)  (#13081)

* Lookup: remove deprecates from tests (#13073) (#13102)

* Toolbar  - button group support (#13119)

* Toolbar - support for button group (#12838)

* Toolbar now supports button group widget

* Fix rtl issue

* Fix icon size issue for material theme

* fix toolbar icons issues

* Fix less gulp task processing https://devextreme-ci.devexpress.com/DevExpress/DevExtreme/31311/126

* Try to fix gulp task

* Try to determine why sass test is failed

* Fix regular expression for valid translation to sass

* Fix translations to sass

* dirty realization of focus navigation

* Fix keyboard navigation logic

* Remove custom keyboard navigation logic

* Fix layout in case of multiple button groups

* Simple test for toolbar

* Fix test in case if open menu method is broken

* Toolbar - fix rtl for button group inside menu (#13098)

* Fix rtl for button group in toolbar menu

* Correct fix of rtl mode for button group

* dxChart: Fix unnecessary margin if the axis has a title and labels are positioned inside the chart (T891064) (#13117)

* Drawer - panel z-index clear immediatly when closeOnOutsideClick was fired (#13108)

* FIx appointments overlapping in Scheduler when browser is zoomed(T885595) (#13087)

* Add integrity-validator run (#13092)

* Remove old deprecated APIs (#13097)

* Fix "ports" for 20.2 (#13121)

* Fix "ports" for 20.2

* Update ports.json

* Update ports.json

Co-authored-by: Anton Sermyazhko <[email protected]>

* dxChart - fix axis custom position (T889092) (#13122)

* dxChart - fix tests for edge after fix T889092 (#13130)

* Lookup: add some event tests (#13078) (#13111)

* Scss generator: format files (#13128) (#13145)

* Make domUtils.contains not to fall with SVG in IE (#13135)

* dxViz: Fix tooltip's background showing in Firefox when using a material theme (T891490) (#13148)

* Scheduler - Add loadPanel for popupEditForm (T885300) (#13115)

* Scheduler - Add loadPanel for popupEditForm (T885300)

* Fix test for IE

* Add "locker" for the "appointmentPopup.saveChanges" method

Co-authored-by: Anton Sermyazhko <[email protected]>

* DataGrid: Fix column resizing when columnResizingMode is widget and rtlEnabled is true (T837344) (#13060)

* DataGrid: Fix column resizing when columnResizingMode is widget and rtlEnabled is true (T837344)

* fix test

* Eliminated the faults noted in the remarks

* Eliminated the faults noted in the remarks (part 2)

* dxViz: Fix tooltip's shadow filter (#13162)

* cherry pick (#13166)

* Add linter to the scss themebuilder (#13036) (#13169)

* DataGrid: Fix loading data on scroll after deleting several rows if scrolilng mode is infinite, rowRenderingMode is virtual and refreshMode is repaint (T862268) (#13104)

* DataGrid (Sortable) - Add promise argument for onReorder event (T887897) (#13140)

* Simplify style compiler code (scss) (#13168)

* DataGrid - Hides the 'between' operation for a lookup column (T889066) (#13156)

* DataGrid: Fix column separator height was wrong during reordering after resizing (T889787) (#13134)

* Diagram for Core/MVC - It's not possible to add both custom and default commands to the context menu (T891295) (#13167)

* Lookup: subscription by 'on' method should work correct for onPageLoading and onPullRefresh events (#13099) (#13114)

* List: click on nextButton should raise pageLoading event (T892010) (#13174)

* File manager - Show navigation errors in notification panel (#13182)

* File Manager - Show navigation errors in notification panel

* Refactored a bit

* Lint generated localization files with client config (#13180)

* dxScheduler - update scheduler test wrapper (#13177)

* cherry pick

* Update scheduler wrapper

* Fix tests

* fix test

Co-authored-by: Alexey Babich <[email protected]>
Co-authored-by: Anton Kuznetsov <[email protected]>
Co-authored-by: Alexander Bezborodov <[email protected]>
Co-authored-by: Stanislav Klesarev <[email protected]>
Co-authored-by: Roman Rodin <[email protected]>
Co-authored-by: Yana Yarovaya <[email protected]>
Co-authored-by: Konstantin Volnyagin <[email protected]>
Co-authored-by: Vladimir Kovalev <[email protected]>
Co-authored-by: Nick Mitrokhin <[email protected]>
Co-authored-by: Stepan <[email protected]>
Co-authored-by: Alexander Ziborov <[email protected]>
Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: EugeniyKiyashko <[email protected]>
Co-authored-by: Andrew Makarov <[email protected]>
Co-authored-by: MikeVitik <[email protected]>
Co-authored-by: Dmitry Semenov <[email protected]>
Co-authored-by: Igor Maltsev <[email protected]>
Co-authored-by: Ignatov Dan <[email protected]>
Co-authored-by: kotov.alexander <[email protected]>
Co-authored-by: Jaan Toming <[email protected]>
Co-authored-by: zhavoronkov.evgeny <[email protected]>
Co-authored-by: Roman Resh <[email protected]>
Co-authored-by: EugeniyKiyashko <[email protected]>
Co-authored-by: Dmitry Levkovskiy <[email protected]>
Co-authored-by: Smirnova Yuliya <[email protected]>
Co-authored-by: Sergey Novikov <[email protected]>
Co-authored-by: dxrobot <[email protected]>
Co-authored-by: groshenkovamarina <[email protected]>
Co-authored-by: Alyar <[email protected]>
Co-authored-by: RomanTsukanov <[email protected]>
Co-authored-by: Sergey Zvyagin <[email protected]>
Co-authored-by: polosatov.alexander <[email protected]>
Co-authored-by: kruglikov.stepan <[email protected]>
Co-authored-by: Anton Sermyazhko <[email protected]>
Co-authored-by: Anton Sermyazhko <[email protected]>
Co-authored-by: Alexander Zelevinskiy <[email protected]>
Co-authored-by: Andrey Ignatovskiy <[email protected]>
Co-authored-by: Andrey Bykiev <[email protected]>
Co-authored-by: AlekseyMartynov <[email protected]>
Co-authored-by: AlisherAmonulloev <[email protected]>
Co-authored-by: Oleg Kipchatov <[email protected]>
Co-authored-by: ilya.kharchenko <[email protected]>
Co-authored-by: arminal <[email protected]>
Co-authored-by: Andrey Churkin <[email protected]>

* Renovation: use global eslint config for qunit tests (#13206)

Co-authored-by: Andrey Churkin <[email protected]>

* Use babel-eslint for js files (#13209)

* fix remarks

* fix qunit tests

* remove extra css rules

* Update README.md

* Update README.md

* Update README.md

* Update package.json

* update playground readme

:

Co-authored-by: roman-simionov <[email protected]>
Co-authored-by: Pavel Gruba <[email protected]>
Co-authored-by: maximkudriavtsev <[email protected]>
Co-authored-by: Roman Simionov <[email protected]>
Co-authored-by: Alexander Ziborov <[email protected]>
Co-authored-by: Andrey Ignatovskiy <[email protected]>
Co-authored-by: Andrey Ignatovskiy <[email protected]>
Co-authored-by: AlekseyMartynov <[email protected]>
Co-authored-by: Konstantin Volnyagin <[email protected]>
Co-authored-by: Sergey Novikov <[email protected]>
Co-authored-by: kotov.alexander <[email protected]>
Co-authored-by: Jaan Toming <[email protected]>
Co-authored-by: Dmitry Levkovskiy <[email protected]>
Co-authored-by: Alexey Kamyshin <[email protected]>
Co-authored-by: Igor Maltsev <[email protected]>
Co-authored-by: Alyar <[email protected]>
Co-authored-by: Alexander Zelevinskiy <[email protected]>
Co-authored-by: Anton Sermyazhko <[email protected]>
Co-authored-by: Yana Yarovaya <[email protected]>
Co-authored-by: Smirnova Yuliya <[email protected]>
Co-authored-by: EugeniyKiyashko <[email protected]>
Co-authored-by: Stanislav Klesarev <[email protected]>
Co-authored-by: polosatov.alexander <[email protected]>
Co-authored-by: Alexey Babich <[email protected]>
Co-authored-by: Anton Kuznetsov <[email protected]>
Co-authored-by: Alexander Bezborodov <[email protected]>
Co-authored-by: Stepan <[email protected]>
Co-authored-by: Roman Rodin <[email protected]>
Co-authored-by: Vladimir Kovalev <[email protected]>
Co-authored-by: ilya.kharchenko <[email protected]>
Co-authored-by: AlisherAmonulloev <[email protected]>
Co-authored-by: groshenkovamarina <[email protected]>
Co-authored-by: Dmitry Semenov <[email protected]>
Co-authored-by: Andrey Churkin <[email protected]>
Co-authored-by: MikeVitik <[email protected]>
Co-authored-by: Andrey Churkin <[email protected]>
Co-authored-by: Maxim Kudryavtsev <[email protected]>
Co-authored-by: Roman Rodin <[email protected]>
Co-authored-by: Nick Mitrokhin <[email protected]>
Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: EugeniyKiyashko <[email protected]>
Co-authored-by: Andrew Makarov <[email protected]>
Co-authored-by: Ignatov Dan <[email protected]>
Co-authored-by: zhavoronkov.evgeny <[email protected]>
Co-authored-by: Roman Resh <[email protected]>
Co-authored-by: dxrobot <[email protected]>
Co-authored-by: RomanTsukanov <[email protected]>
Co-authored-by: Sergey Zvyagin <[email protected]>
Co-authored-by: kruglikov.stepan <[email protected]>
Co-authored-by: Anton Sermyazhko <[email protected]>
Co-authored-by: Andrey Bykiev <[email protected]>
Co-authored-by: Oleg Kipchatov <[email protected]>
Co-authored-by: arminal <[email protected]>
@SlyCreator
Copy link

I was able to fix this issue with sudo react-native start

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests