onivim / oni

Oni: Modern Modal Editing - powered by Neovim
https://www.onivim.io
MIT License
11.35k stars 299 forks source link

Fixed problem when some visual artifacts may appear after resize #2578

Closed lenenel closed 6 years ago

lenenel commented 6 years ago

I have menu hidden by default and observed visual artifacts after pressing Alt. Menu appears after I press Alt and editor area is resized, but not the whole area is redrawn, so I see 2 neovim's status bars. I also can reproduce similar behaviour by resizing Oni window. See video with this problem

After investigation I've found that method CanvasRenderer.redrawAll is called before neovim is really resized so it draws state of neovim before resize. So I've changed code so it called only when Promise returned by NeovimInstance.resize method is resolved. Which is actually Promise returned by Session.request method, so should be resolved when neovim finished resizing itself.

codecov[bot] commented 6 years ago

Codecov Report

Merging #2578 into master will not change coverage. The diff coverage is 0%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2578   +/-   ##
=======================================
  Coverage   45.44%   45.44%           
=======================================
  Files         353      353           
  Lines       14445    14445           
  Branches     1885     1885           
=======================================
  Hits         6564     6564           
  Misses       7657     7657           
  Partials      224      224
Impacted Files Coverage Δ
browser/src/Editor/NeovimEditor/NeovimRenderer.tsx 8.69% <0%> (ø) :arrow_up:
browser/src/neovim/NeovimInstance.ts 5.47% <0%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 966fd2c...f831c31. Read the comment docs.

CrossR commented 6 years ago

Sorry for the delay! If nobody else has got this, I'll take a look at the Weekend.