proton

https://github.com/dvcrn/proton
dvcrn 2017-01-18T01:30:48.000033Z

@beetlefeet one idea was to not block the editor at all and move the modal into a corner. Though not sure how that would work if you try to use layers that rely on packages that are not installed yet

dvcrn 2017-01-18T01:31:31.000034Z

keymaps and settings are almost instant, the packages are what's taking so much time

beetlefeet 2017-01-18T01:33:03.000035Z

Is it the loading or consolidating the installed ones vs the required ones?

dvcrn 2017-01-18T01:34:03.000036Z

it's diffing the installed vs required ones and installs / removes accordingly. The diffing needs almost no time, just the actual installing is really slow

beetlefeet 2017-01-18T01:35:36.000037Z

it seems like the ‘splash’ stays up a long time even when there is nothing to remove or install though

beetlefeet 2017-01-18T01:36:08.000038Z

and also takes a while to appear in the first place

dvcrn 2017-01-18T01:38:26.000039Z

yep correct because it would almost disappear immediately and make the entire information in it useless. By default it's set to 3s I think but you can change that in your proton config with proton.core.post-init-timeout

dvcrn 2017-01-18T01:38:33.000040Z

though appearing should be instant :thinking_face:

beetlefeet 2017-01-18T01:39:00.000041Z

probably just actually loading all the atom packages is the wait before it appears

beetlefeet 2017-01-18T01:40:07.000042Z

maybe if all the statuses are “OK” it could just be non-modal and skip the 3s. (or like animate and minimise to a little icon in the toolbar 🙂 that’d be fancy) I’ll try setting that config value...

beetlefeet 2017-01-18T01:42:06.000043Z

It works. now I have a pause while apm loads the packages and then a blip of proton. I like the idea of proton not blocking unless there is something interesting (like a new or removed package). I

beetlefeet 2017-01-18T01:42:33.000044Z

I’m going to checkout the repo and see if I can understand the clojure enough to have a crack at it.

beetlefeet 2017-01-18T01:43:02.000045Z

(zero experience in lisp :/)

dvcrn 2017-01-18T01:44:00.000046Z

it's really quite simple 🙂 learning a lisp like clojure is a very valuable skill to have. You'll learn a lot of things that you can apply to other languages

dvcrn 2017-01-18T01:44:14.000047Z

(not saying proton code is the cleanest though..)

beetlefeet 2017-01-18T01:44:27.000048Z

neither is the code I work with everyday 😉

dvcrn 2017-01-18T01:44:44.000051Z

this is the monster init function we are using right now

dvcrn 2017-01-18T01:44:56.000052Z

the last line is setting the timeout

dvcrn 2017-01-18T01:47:38.000057Z

I think the easiest way would be to do something like

(if 
  (and 
    (> (count to-remove) 0) 
    (> (count to-install) 0))
  ;; show timeout
  ;; do something else
)

dvcrn 2017-01-18T01:49:17.000060Z

ah, not and 😛

beetlefeet 2017-01-18T01:49:17.000061Z

Longest will probably be figuring out how to build and get atom to use my version of proton 🙂 (Any tricks to that, just installing leiningen..) Also would be good to not even show the window even for a blip, that can be a stretch goal 😛

dvcrn 2017-01-18T01:50:15.000062Z

just remove proton from your atom, compile the source with lein and do apm link inside the plugin/ folder

beetlefeet 2017-01-18T02:27:36.000065Z

Back from doing actual work… I did that and I see proton-mode in settings > packages and if I ‘view code’ it shows the code in /plugin/ directory of the local repo correctly. But no proton loaded and no proton stuff in the command palette. Just wondering if that is something you’ve seen and fixed?

beetlefeet 2017-01-18T02:28:35.000066Z

oh, there’s no javascript files in /plugin/ I did ‘lein compile’ but I guess it didn’t work

beetlefeet 2017-01-18T02:55:37.000067Z

Don’t mind me, I managed to completely miss the command to run in README, now just trying to update JDK...

dvcrn 2017-01-18T03:01:29.000068Z

🙂

2017-01-18T05:44:55.000069Z

Proton seems to have broken just now. Anyone else have the same issue?

beetlefeet 2017-01-18T05:59:12.000070Z

Are you on 0.13.2 of proton-mode?

2017-01-18T08:05:24.000071Z

ugh I switched computers so idk atm, but I have not manually updated anything almost vanilla setup I just disable parinfer and install paredit

2017-01-18T08:05:39.000072Z

in my config

2017-01-18T08:07:30.000073Z

I actually had a working instance of atom running the new ones are the ones that break. I remember the errors have todo with deprecations

beetlefeet 2017-01-18T08:22:48.000074Z

Atom 1.13.0 broke proton and then proton 0.13.2 fixed it. So if you update atom and proton to newest it should be working.

dvcrn 2017-01-18T09:46:19.000075Z

@kidpollo yeah probably need to wait for auto-update to trigger