Commit Graph

161 Commits

Author SHA1 Message Date
Jordi Bunster
c7b9ff6794
Lazy loaded Monaco (#720)
Lazy loaded Monaco
2021-04-25 21:31:10 -07:00
Sunil Kumar Yadav
67062c18aa
Migration/edit table entity panel to react (#690)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-04-25 17:51:27 -05:00
Jordi Bunster
045a28b7a4
Remove 'any' from existing lazy loaded tabs (#721)
* Typesafe lazy loaded GalleryTab

* Typesafe lazy loaded NotebookViewerTab

* Typesafe lazy loaded NotebookManager
2021-04-23 19:54:21 -07:00
Jordi Bunster
b7c911d19a
Remove Tabs from ComponentRegisterer (#713)
Now that Tabs are being rendered via Tabs.tsx the knockout component names are not needed either.
2021-04-23 19:53:48 -07:00
Tanuj Mittal
5ecc3d67b0
Add support for Schema Analyzer (#411)
* New MongoSchemaTab

* Address feedback and updates

* Build fixes

* Rename to SchemaAnalyzer

* Format

Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
2021-04-22 21:45:21 -04:00
vaidankarswapnil
c6766dd69e
Migrate new graph vertex panel to react (#702)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-04-22 09:47:59 -05:00
Hardikkumar Nai
9d411c57b0
Remove Explorer.isPreferredApiTable (#656)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-04-21 16:41:08 -05:00
Jordi Bunster
e49bcc524f
Remove deprecated calls to logConsoleMessage (#608)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-04-21 13:52:01 -05:00
Sunil Kumar Yadav
72ce5fc813
Migrate Add Table Entity Pane to React (#642)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-04-21 11:33:29 -05:00
Jordi Bunster
f2585bba14
TabsManager in react (#500) 2021-04-19 13:11:48 -07:00
Jordi Bunster
19cf203606
Misc fixes from #500 (#701)
* Ensure TabsBase.tabPath is always observable

* In tests, Date.getTime() is not different enough

* Add class name only in the Tab that needs it
2021-04-19 12:58:53 -07:00
Jordi Bunster
e0060b12e5
Keep active tab state in one place (manager) (#683)
With this change TabsBase objects will retain a reference to the TabsManager they belong to, so they can ask it if they're the active tab or not.

This removes the possibility for bugs like activating an unmanaged tab, or having more than one active tab, etc.
2021-04-18 17:48:39 -07:00
Hardikkumar Nai
02ea26da71
Remove Explorer.isPreferredCassandraAPI (#654)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-04-17 15:54:47 -05:00
Hardikkumar Nai
1685b34e2a
Remove Explorer.isPreferredDocumentDB (#653) 2021-04-13 20:53:14 -05:00
Jordi Bunster
f449328f26
Remove unused tab finder methods from Explorer (#549) 2021-04-13 12:42:00 -05:00
Steve Faulkner
7bdc31aa67
Fix for Mongo shard key loaded via ARM (#657) 2021-04-13 12:03:25 -05:00
Steve Faulkner
ba3f4829fa
Add second App Insights instance (#609) 2021-04-05 18:03:17 -05:00
Jordi Bunster
b150e53814
Remove (unused) dbsettings tab (#607) 2021-04-05 13:51:44 -07:00
Sunil Kumar Yadav
de5a11ff1b
Migration/browse queries pane to react (#598)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-04-04 22:04:34 -05:00
Sunil Kumar Yadav
2bf9313951
Migrate Load Query Pane to React (#579)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-04-02 15:44:50 -05:00
Sunil Kumar Yadav
36f8fc1d22
Migrate save query pane to react (#578)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-04-02 15:10:43 -05:00
Armando Trejo Oliver
1b9070605e
Make MongoShell ready message handler backwards compatible (#606)
* Make MongShell message handler backwards compatible

* Fix test title and add one more test case
2021-04-02 12:38:53 -07:00
Hardikkumar Nai
6a69d3a77b
Move upload items panel to react (#558)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-03-31 15:43:05 -05:00
Sunil Kumar Yadav
69ac4e218d
Migration/execute sproc params pane in react (#576)
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2021-03-31 14:43:55 -05:00
Jordi Bunster
a9ed187213
Bugfix: this was not really used at all (#596) 2021-03-30 13:59:04 -07:00
Hardikkumar Nai
343e82c102
Fix lint query utils (#487)
* Fix Lint errors in QueryUtils

* Format

* Simplify diff

Co-authored-by: Your Name <you@example.com>
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
Co-authored-by: Jordi Bunster <jbunster@microsoft.com>
2021-03-29 21:26:41 -05:00
Jordi Bunster
4c2f22c2b1
When switching between tabs, editors remain open (#586)
I misunderstood the purpose of a ko.foreach() loop in my changes
back in #534. This re-introduces the loop.
2021-03-29 12:38:41 -05:00
Jordi Bunster
8cc04bab87
MongoDocumentsTab.html was not used here (#582) 2021-03-25 15:24:43 -07:00
Jordi Bunster
f33ec09040
Remove Explorer.features (#563)
In addition this makes the URL-passed feature flags type safe
2021-03-22 19:04:06 +00:00
Jordi Bunster
b1aeab6b84
Knockout tab changes
This reduces the work involved in rendering knockout tabs, which will make moving them to React under a feature flag a bit easier.
2021-03-22 10:13:44 -07:00
Steve Faulkner
ee8d2070bf
Remove Explorer.isRefreshing (#539) 2021-03-19 12:13:52 -05:00
Armando Trejo Oliver
19880203ec
Fix ready message (format) (#565)
* Fix ready message sent to parent frame

* format
2021-03-18 21:40:31 -07:00
artrejo
f929a638d6 Fix ready message sent to parent frame 2021-03-18 20:41:43 -07:00
Steve Faulkner
a2e3be9680
Remove Explorer.serverId (#555) 2021-03-17 15:24:21 -05:00
Tanuj Mittal
3eda8029ba
Change default Sort order for Gallery to MostRecent & fix gallery card height for empty tags (#545) 2021-03-17 01:40:38 +00:00
Steve Faulkner
62550f8d6a
Deprecate Explorer Properties (#535) 2021-03-10 23:02:55 -06:00
hardiknai-techm
184910ee6c
Resolve Lint errors in NotebookConfigurationUtils.ts (#490) 2021-03-10 21:47:08 -06:00
victor-meng
9d63a346e4
Fix issues in the add collection pane (#501) 2021-03-09 10:18:40 -08:00
hardiknai-techm
9617b80b56
Fix Lint errors in ThemeUtility (#477)
* Fix Lint errors in ThemeUtility

* format ThemeUtility.ts file

Co-authored-by: hardiknai <hardiknai92@gmail.com>
Co-authored-by: zen3-hardik <hardikkumar.n@zen3tech.com>
2021-03-08 17:19:22 -06:00
Steve Faulkner
10664162c7
Refactor Telemetry to include account name and experience (#452) 2021-02-28 15:56:09 -06:00
Srinath Narayanan
cf01ffa957
removed enableGalleryPublish, enableLinkInjection feature flags (#454)
* removed enableGalleryPublish, enableLinkInjection

* removed ENABLE_GALLERY_PUBLISH
2021-02-26 13:07:44 -08:00
Steve Faulkner
8629bcbe2d
Move "Open Full Screen" to React Panel (#449) 2021-02-24 19:04:28 -06:00
Steve Faulkner
2d2d8b6efe
Remove Unused Tabs (#450) 2021-02-24 17:48:33 -06:00
victor-meng
22d8a7a1be
Move database settings tab to react (#386)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-02-10 16:06:14 -06:00
Tanuj Mittal
db7c45c9b8
Enable gallery publishing in MPAC (#416)
* Enable gallery publishing in MPAC

* Address feedback

* Use ENABLE_GALLERY_PUBLISH config in standalone gallery

* Fix test
2021-02-03 23:42:11 +05:30
Tanuj Mittal
4f6b75fe79 More gallery updates (#418)
* More gallery updates

* Add PublishContent icon

* Address feedback
2021-02-03 23:24:27 +05:30
Tanuj Mittal
9278654479
Public gallery improvements (#409)
- [x] Don't show extension in name field for publish
- [x] Open "Your published work" tab after publishing
- [x] Continue showing dialog for Report Abuse status
- [x] For showing COC in Public Gallery tab show backdrop of thumbnails
- [x] Liked -> My Favorites & Your published work -> My published work
2021-01-29 17:04:38 +00:00
Steve Faulkner
b3cafe3468
Add telemetry to Spark+Synapse Pools (#392) 2021-01-20 11:08:29 -06:00
Steve Faulkner
4be53284b5
Prettier 2.0 (#393) 2021-01-20 09:15:01 -06:00
Steve Faulkner
9d20a13dd4
Warn on SubQuery (#378) 2021-01-12 13:53:15 -06:00
victor-meng
a55f2d0de9
Free tier improvements in DE (#348)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2021-01-04 12:56:55 -08:00
Steve Faulkner
d40b1aa9b5
Remove Empty Query Logging (#361) 2021-01-04 13:58:01 -06:00
Steve Faulkner
c3058ee5a9
Check for undefined query results (#350) 2020-12-18 19:55:32 -06:00
Gahl Levy
ebae484b8f
Fix duplicate settings tabs (#343)
Co-authored-by: Steve Faulkner <southpolesteve@gmail.com>
2020-12-17 13:01:36 -08:00
victor-meng
f54e8eb692
Move queryDocuments out of DataAccessUtility (#334) 2020-12-16 15:27:17 -08:00
Steve Faulkner
ea39c1d092
Fix offer update notification for AAD users (#338) 2020-12-11 13:38:57 -06:00
victor-meng
fd60c9c15e
Remove RUPM (#328)
Remove all RUPM code
2020-12-01 07:06:38 +00:00
victor-meng
17fd2185dc
Move read offer to RP (#326) 2020-11-19 17:13:11 -08:00
Srinath Narayanan
85d2378d3a
Removed SettingsV1 code paths (#325)
* removed settingsv1 code path in collection.ts

* removed Settingsv1 code

* Moved AAD error message up the chain
2020-11-18 12:11:25 -08:00
victor-meng
79dec6a8a8
Refactor error handling in data explorer Part 3 (#315)
- Make sure we pass the error message string instead of an error object when we call `TelemetryProcessor.traceFailure` since TelemetryProcessor will call `JSON.stringify` on the error object which would result in an empty object
- Removed ErrorParserUtility since it only works on specific error types. We can just log the full error message and manually derive information we need from the message.
- Added option to include stack trace in `getErrorMessage`. This is useful for figuring out where the client side script errors are coming from.
- Some minor refactors
2020-11-06 04:02:57 +00:00
victor-meng
5741802c25
refactor error handling part 1 (#307)
- created `getErrorMessage` function which takes in an error string or any type of error object and returns the correct error message
- replaced `error.message` with `getErrorMessage` since `error` could be a string in some cases
- merged sendNotificationForError.ts with ErrorHandlingUtils.ts
- some minor refactoring

In part 2, I will make the following changes:
 - Make `Logger.logError` function take an error message string instead of an error object. This will reduce some redundancy where the `getErrorMessage` function is being called twice (the error object passed by the caller is already an error message).
 - Update every `TelemetryProcessor.traceFailure` call to make sure we pass in an error message instead of an error object since we stringify the data we send.
2020-10-30 22:09:24 +00:00
Steve Faulkner
79769e9689
Remove AutoPilot v2 (#304)
* Remove AutoPilot v2

* Update DatabaseSettingsTab.ts

* Update DatabaseSettingsTab.ts

* Update src/Explorer/Tabs/DatabaseSettingsTab.ts

Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>

* Update src/Explorer/Tabs/SettingsTab.ts

* Update src/Explorer/Tabs/DatabaseSettingsTab.ts

Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>

* Update src/Explorer/Tabs/SettingsTab.ts

* Remove more unused code

* Remove import

Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
2020-10-29 11:26:37 -05:00
Srinath Narayanan
542abf4d3a
Added extra logging for mongo index update RP call (#303)
* Added extra logging

* changes error -> error.message in traceFailure
2020-10-27 13:39:38 -07:00
Steve Faulkner
4bee46ce55
Add Tab Name to Telemetry (#302) 2020-10-27 10:36:31 -05:00
Srinath Narayanan
b4219e2994
Added Support for editing Mongo Indexing Policy from Settings tab (#284)
* added  SettingsV2 Tab

* lint changes

* foxed failing test

* Addressed PR comments

- removed dangerouslySetInnerHtml
- removed underscore dependency
- added AccessibleElement
- removed unnecesary exceptions to linting

* split render into separate functions

- removed sinon in test
- Added some enums to replace constant strings
- removed dangerously set inner html
- made autopilot input as StatefulValue

* add settingscomponent snapshot

* fixed linting errors

* fixed errors

* addressed PR comments

- Moved StatefulValue to new class
- Split render to more functions for throughputInputComponents

* Added sub components

- Added tests for SettingsRenderUtls
- Added empty test files for adding tests later

* Moved all inputs to fluent UI

- removed rupm
- added reusable styles

* Added Tabs

- Added ToolTipLabel component
- Removed toggleables for individual components
- Removed accessible elements
- Added IndexingPolicyComponent

* Added more tests

* Addressed PR comments

* Moved Label radio buttons to choicegroup

* fixed lint errors

* Removed StatefulValue

- Moved conflict res tab to the end
- Added styling for autpilot radiobuttons

* fixed linting errors

* fix bugs from merge to master

* fixed formatting issue

* Addressed PR comments

- Added unit tests for smaller methods within each component

* fixed linting errors

* removed redundant snapshots

* removed empty line

* made separate props objects for subcomponents

* Moved dirty checks to sub components

* Made indesing policy component height = 80% of view port

- modified auto pilot v3 messages
- Added Fluent UI tolltip
-

* Moved warning messages inline

* moved conflict res helpers out

* fixed bugs

* added stack style for message

* fixed tests

* Added tests

* fixed linting and format errors

* undid changes

* more edits

* fixed compile errors

* fixed compile errors

* fixed errors

* fixed bug with save and discard buttons

* fixed compile errors

* added MongoIndexingPolicy component

* addressed PR comments

* moved read indexes to scale context

* added add index feature

* added AddMongoIndexComponent

* Added collapsible portions and focus changes

* removed unnecessary imports

* finetuned UI

* more edits

* Added mongoindexeditor flight

- Moved add index UI to within current index pane

* minro edits

* Added separate warning messages for index refresh

* aligned items

* Fixed tests

* minor edits

* resolved PR comments

* modified refs usage

* compile errors fixed

* moved fetch of notifications and offer to within the tab activation

* fixed PR comments

* added error handling

* added AAD verification

* removed l empty line

* added back line

* deleted file

* added file

* addressed PR comments

* addressed PR comments

* fixed format error

* updated package.json

* updated package-lock.json
2020-10-26 14:17:40 -07:00
victor-meng
294270b6aa
Allow users to switch between manual and autoscale for fixed collections (#299)
- removed the `isFixed` check in both new and old settings tab so that the options to switch between manual and autoscale shows up for fixed collections
- updated the message below the text box to inform the users that the max RU for fixed collections is 10000
- updated validation rule so that the max RU cannot exceed 10000 for fixed collections for both autoscale and manual
2020-10-26 19:00:21 +00:00
victor-meng
24b5b754ca
Fix error handling in DE (#294)
- Replaced `JSON.stringify(error)` with `error.message`
- Created `ErrorHandlingUtils` and moved all error logging actions in there
2020-10-21 21:28:30 +00:00
Steve Faulkner
821f665e78
Remove window.dataExplorerPlatform (#279)
More cleanup for #253 
- Remove window.dataExplorerPlatform
- Remove explorer factories
2020-10-15 03:25:13 +00:00
victor-meng
d525afa142
Refactor code that uses the _rid and _self of a database or collection (#267) 2020-10-13 13:29:39 -07:00
Steve Faulkner
cfb9a0b321
Refactor NotificationsClient (#270) 2020-10-12 22:10:28 -05:00
Srinath Narayanan
a9a57f4ba9
Added telelmetry for settings v2 and v1 (#269)
* Added telelmetry for settings v2 and v1

* format errors fixed

* renamed actions
2020-10-12 09:01:00 -07:00
Steve Faulkner
14cdf19efb
Remove Explorer.isEmulator (#256) 2020-10-09 11:18:50 -05:00
victor-meng
0382628249
Move update offers call to RP 2020-10-07 17:25:21 -05:00
Jordi Bunster
0cc38868a6
Remove one indirection for ConfigContext
Things like ConfigContext.BACKEND_ENDPOINT are dynamically changed, and assigning them statically like this only bypasses that mechanism :(

Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
2020-10-06 15:30:24 -07:00
victor-meng
0f82ed3749
Add checks for serverless account (#244) 2020-10-02 14:44:12 -07:00
Srinath Narayanan
fc722e87be
Refactored Settings Tab (#161)
* added  SettingsV2 Tab

* lint changes

* foxed failing test

* Addressed PR comments

- removed dangerouslySetInnerHtml
- removed underscore dependency
- added AccessibleElement
- removed unnecesary exceptions to linting

* split render into separate functions

- removed sinon in test
- Added some enums to replace constant strings
- removed dangerously set inner html
- made autopilot input as StatefulValue

* add settingscomponent snapshot

* fixed linting errors

* fixed errors

* addressed PR comments

- Moved StatefulValue to new class
- Split render to more functions for throughputInputComponents

* Added sub components

- Added tests for SettingsRenderUtls
- Added empty test files for adding tests later

* Moved all inputs to fluent UI

- removed rupm
- added reusable styles

* Added Tabs

- Added ToolTipLabel component
- Removed toggleables for individual components
- Removed accessible elements
- Added IndexingPolicyComponent

* Added more tests

* Addressed PR comments

* Moved Label radio buttons to choicegroup

* fixed lint errors

* Removed StatefulValue

- Moved conflict res tab to the end
- Added styling for autpilot radiobuttons

* fixed linting errors

* fix bugs from merge to master

* fixed formatting issue

* Addressed PR comments

- Added unit tests for smaller methods within each component

* fixed linting errors

* removed redundant snapshots

* removed empty line

* made separate props objects for subcomponents

* Moved dirty checks to sub components

* Made indesing policy component height = 80% of view port

- modified auto pilot v3 messages
- Added Fluent UI tolltip
-

* Moved warning messages inline

* moved conflict res helpers out

* fixed bugs

* added stack style for message

* fixed tests

* Added tests

* fixed linting and format errors

* undid changes

* more edits

* fixed compile errors

* fixed compile errors

* fixed errors

* fixed bug with save and discard buttons

* fixed compile errors

* addressed PR comments
2020-09-30 12:34:39 -07:00
victor-meng
23c5d2d7e0
Lazy load collection offer (#234) 2020-09-28 12:54:28 -07:00
Steve Faulkner
91aa91d860
Cleanup extension endpoint loading (#224) 2020-09-24 18:10:54 -05:00
Tanuj Mittal
7c5c8ddb7a
Fix incorrect usage of TelemetryProcessor (#221)
* Fix incorrect usage of TelemetryProcessor

* Address feedback
2020-09-22 12:19:06 -07:00
victor-meng
dc56f7e154
Lazy load database offer in data explorer (#208)
Co-authored-by: zfoster <notzachfoster@gmail.com>
2020-09-18 16:00:21 -07:00
Laurent Nguyen
9b021b29b9
Fix a11y bugs in query stats table: too many columns, header info not passed to column contents (#209) 2020-09-17 10:43:01 +02:00
Steve Faulkner
03b19fc875
Split all script data access methods (#197)
* Split all script data access methods

* More cleanup

* Fix Typo
2020-09-15 13:31:30 -05:00
DanielSPham
5ccf26e403
Change load more role (#190)
Co-authored-by: Daniel Si Pham <v-danpha@microsoft.com>
2020-09-14 17:02:29 -07:00
DanielSPham
ef7da10b6e
Added alert role to query tables tab error (#199)
Co-authored-by: Daniel Si Pham <v-danpha@microsoft.com>
2020-09-14 16:53:39 -07:00
Steve Faulkner
e6ac5a7043
Telemetry Adjustments (#182) 2020-09-08 12:44:46 -05:00
victor-meng
47a5c315b5
Move updateCollection to ARM (#152) 2020-08-21 11:24:01 -07:00
Tanuj Mittal
dde2ca75c4
Show submit button by default in GenericRightPaneComponent & other fixes (#144)
* Bug fixes

* Fix build
2020-08-17 11:39:11 -07:00
Tanuj Mittal
5886db81e9
Copy To functionality for notebooks (#141)
* Add Copy To functionality for notebooks

* Fix formatting

* Fix linting errors

* Fixes

* Fix build failure

* Rebase and address feedback

* Increase test coverage
2020-08-11 09:27:57 -07:00
Srinath Narayanan
7a3e54d43e
Added support for acknowledging code of conduct for using public Notebook Gallery (#117)
* minro code edits

* Added support for acknowledging code of conduct

- Added CodeOfConduct component that shows links and a checkbox that must be acknwledged before seeing the public galley
- Added verbose message for notebook publish error (when another notebook with the same name exists in the gallery)
- Added a feature flag for enabling code of conduct acknowledgement

* Added Info Component

* minor edit

* fixed failign tests

* publish tab displayed only when code of conduct accepted

* added code of conduct fetch during publish

* fixed bug

* added test and addressed PR comments

* changed line endings

* added comment

* addressed PR comments
2020-08-11 00:37:05 -07:00
victor-meng
e28765d740
Add null check when reading offerAutopilotSettings (#138) 2020-08-10 11:55:43 -05:00
Steve Faulkner
455a6ac81b
Fix update offer beyond throughput limit error (#135) 2020-08-06 18:15:40 -05:00
Steve Faulkner
0011007d5f
Refactor Global state into Context Files (#128) 2020-08-06 14:03:46 -05:00
victor-meng
70f9b28499
Fix tabs manager test (#130) 2020-08-05 18:01:13 -07:00
Steve Faulkner
2904a1a60d
Move Delete Container call to use ARM when logged in with AAD (#110) 2020-08-03 17:11:07 -05:00
Steve Faulkner
fea321cd68
More ViewModel cleanup (#116) 2020-07-27 16:05:25 -05:00
Steve Faulkner
2e49ed45c3
Refactor DocumentClientUtilityBase to not be a class (#115) 2020-07-27 12:58:27 -05:00
Steve Faulkner
6d142f16f9
Refactor Data Access Utility (#112) 2020-07-24 16:45:48 -05:00
Srinath Narayanan
dc67c5f40b
Added support for taking screenshot during Notebook publish to Gallery (#108)
* Added support for taking screenshot

- Screenshot is taken using html2canvas package
- Converted to base 64 and uploaded to metadata
- For Using first display output
  - Notebok object is passed instead of string, to publish pane
  - The first cell with output present is parsed out
  - The dom is also parsed to get corresponding div element to take screenshot of the first output

* fixed bug

* Addressed PR comments

- FIxed bug that didn't capture screenshot when mutiple notebook tabs are opened

* removed unnecessary dependencies

* fixed compile issues

* more edits
2020-07-23 00:43:53 -07:00
Steve Faulkner
4f86015be7
Remove OpenActionsStubs (#106) 2020-07-21 13:50:51 -05:00
Steve Faulkner
574fdcaf37
Remove Pane Stubs (#102) 2020-07-21 09:23:51 -05:00