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

Action update core #16

Closed
wants to merge 59 commits into from
Closed

Action update core #16

wants to merge 59 commits into from

Conversation

mofojed
Copy link
Owner

@mofojed mofojed commented Mar 2, 2023

No description provided.

emilyhuxng and others added 23 commits February 10, 2023 09:02
Closes deephaven#1049 

Add tests for files in file-explorer. Note: Drag and drop is not tested.
- Pulled the types out of `jsapi-shim` into a separate pacakge
`jsapi-types`
- Now other packages can import just the types without the shim possibly
failing because the API isn't loaded yet
- Will be deprecated/replaced with the automatically published TS
definitions when @niloc132 has finished that
- Added `jsapi-bootstrap` package to load the API and display an error
if it can't load
  - Can set the API globally, or use it from a React context object
  - Displays an error if the API cannot be loaded
- Use code-splitting to bootstrap the API globally to keep existing code
running until we port everything over
- We should now look at completing deephaven#444 , and get rid of the
`embed-grid` and `embed-chart` packages. We can now code-split at the
top level.
- Enabled proxy in both embed-grid and embed-chart, keeping the loading
similar between all three apps
- Requires change deephaven/deephaven-core#2733

Breaking Change: The JS API packaged as a module is now required for the
`code-studio`, `embed-grid`, and `embed-chart` applications. Existing
(Enterprise) applications should be able to use `jsapi-shim` still and
load the JS API using the old method.
Enterprise uses golden-layout hasHeaders: false in layout config for
query monitor. A check added as part of typescript conversion was
preventing headers from being set to display none when it was false
(toggle is a jquery method that hides/shows based on a boolean).
… or close it (deephaven#1099)

Fixes deephaven#1085 

- isDragging was always set to true on itemMouseMove which prevented
onSelect from firing on even the slightest of mouse movements while
clicking
- Set isDragging to true only if the mouse moves at least 5 viewport
units in the X or Y direction between the mouseDown and mouseUp events
(attempted to get this value as close as possible to when the UI changes
to indicate dragging)
Conditional formatting for date columns now properly prevents conditions
with empty values from being applied.
…phaven#1117)

deephaven/deephaven-core#3385 is a port of DH-11692 which adds `Instant`
and `ZonedDateTime` support to the engine. I've similarly encoded these
types over Barrage as a `long` (as a nanosecond since epoch). The
encoding of Zones will actually need to be implemented at a future date
as the best implementation requires (encourages?) a much larger
refactoring of ColumnSource types. See deephaven/deephaven-core#3455 for
more information.

I was able to get the web-client-ui to display these types with this
small patch.
…phaven#1079)

- The only vulnerability left is in jszip, which we still have pinned
…n#1118)

I asked chatGPT to help me brainstorm improvements to some of the labels
and hint text based on the Apple Human Interface Guidelines. I then
edited them as human to improve them further.

Review and let me know if you think any are worse or weird.

---------

Co-authored-by: Mike Bender <mikebender@deephaven.io>
Fixes deephaven#1027 
- `null` values are not supported by the API, so it is not implemented
- Styleguide index wasn't updated to use JS API as a module correctly
- User is expecting the plots to be ordered 0 at top, increasing
downward
- Plotlys bounds coordinate system has 0,0 in the bottom left,
increasing upward
- Invert the coordinates so that it appears in plotly correctly
- Add unit tests
@github-actions
Copy link

github-actions bot commented Mar 2, 2023

Pull Request titles must follow the Conventional Commits specification.

Details:

No release type found in pull request title "Action update core". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@codecov-commenter
Copy link

codecov-commenter commented Mar 2, 2023

Codecov Report

Merging #16 (525086e) into main (eafe052) will increase coverage by 1.26%.
The diff coverage is 43.25%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
+ Coverage   42.10%   43.37%   +1.26%     
==========================================
  Files         432      435       +3     
  Lines       32555    32681     +126     
  Branches     8191     8242      +51     
==========================================
+ Hits        13707    14174     +467     
+ Misses      18795    18458     -337     
+ Partials       53       49       -4     
Flag Coverage Δ
unit 43.37% <43.25%> (+1.26%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
packages/code-studio/src/AppRoot.tsx 0.00% <0.00%> (ø)
packages/code-studio/src/index.tsx 0.00% <0.00%> (ø)
...udio/src/settings/ColumnSpecificSectionContent.tsx 98.73% <ø> (ø)
...e-studio/src/settings/FormattingSectionContent.tsx 63.11% <ø> (ø)
packages/code-studio/src/settings/SettingsMenu.tsx 11.11% <ø> (ø)
...de-studio/src/settings/ShortcutsSectionContent.tsx 5.00% <ø> (ø)
...ages/code-studio/src/styleguide/StyleGuideRoot.tsx 0.00% <0.00%> (ø)
packages/code-studio/src/styleguide/index.tsx 0.00% <0.00%> (ø)
packages/components/src/LoadingOverlay.tsx 0.00% <ø> (ø)
...shboard-core-plugins/src/panels/MockFileStorage.ts 14.81% <0.00%> (-10.19%) ⬇️
... and 39 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@mofojed mofojed closed this Mar 3, 2023
mofojed pushed a commit that referenced this pull request Aug 28, 2023
fixes deephaven#1439 - Heap usage code now guarantees that new requests won't be
scheduled until all previous requests are complete.

## Testing
I tested by shutting my Mac for ~2 hours and returning. Timings looks
something like this:

### Summary
<img width="310" alt="image"
src="https://github.com/deephaven/web-client-ui/assets/1900643/0ad2d426-2fed-48e8-a255-989ee5d524f3">

It seems that requests still happen occasionally while sleeping. On Wake
up, there were a few ticks resulting in "Unable to get heap usage"
console errors. Then a prompt showed up indicating credentials had
expired at which point requests start succeeding again.

### Full Console Log
```
useAsyncInterval.ts:37 [useAsyncInterval] tick #1. 10068 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9918
useAsyncInterval.ts:37 [useAsyncInterval] tick #2. 9936 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #3. 10026 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9958
useAsyncInterval.ts:62 [useAsyncInterval] Setting interval minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #1. 941977 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #2. 13 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #3. 2038465 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #4. 19 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #5. 537820 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #6. 16 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #7. 191633 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #8. 18 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #9. 23720 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #10. 18 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #11. 886367 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #12. 17 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #13. 1010951 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #14. 6 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #15. 650011 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #16. 13 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #17. 731687 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #18. 19 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #19. 120545 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick #20. 16 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#21. 446345 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 0
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#22. 13 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#23. 10999 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 8987
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#24. 9020 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#25. 10030 ms elapsed since last tick.
HeapUsage.tsx:68 [HeapUsage] Unable to get heap usage Error: Authentication details invalid
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9955
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#26. 9979 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick deephaven#27. 10027 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9956
useAsyncInterval.ts:62 [useAsyncInterval] Setting interval minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #1. 10695 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9290
useAsyncInterval.ts:37 [useAsyncInterval] tick #2. 9311 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 10000
useAsyncInterval.ts:37 [useAsyncInterval] tick #3. 10017 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9969
useAsyncInterval.ts:37 [useAsyncInterval] tick #4. 9992 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9992
useAsyncInterval.ts:37 [useAsyncInterval] tick #5. 10680 ms elapsed since last tick.
useAsyncInterval.ts:56 [useAsyncInterval] adjusted minIntervalMs: 9308
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants