cabal-club / cabal-client

interface for writing peer-to-peer chat clients
GNU General Public License v3.0
95 stars 14 forks source link

Upgrade cabal-core for faster installs (sodium-native) #79

Closed ralphtheninja closed 2 years ago

ralphtheninja commented 2 years ago

Quickens install times from several minutes to seconds on machines lacking prebuilt binaries.

ralphtheninja commented 2 years ago

Will bump cabal-bot once this is released so I can haz smooth installs when building my cabal bot :smile:

hackergrrl commented 2 years ago

I think cabal-core 13->14 is a breaking protocol change, possibly due to a major hypercore semver?

This makes me think about:

  1. How nice it'd be if we used changelogs, so it was easier to see what this major semver does.
  2. What we want our procedure to be around releases of breaking protocol changes. Releasing cabal-client with a new major semver is no big deal on its own, but anyone who wants to depend on it directly may not be aware that the latest version is protocol incompatible with what is currently running on clients today.

cc for thoughts: @cblgh @nikolaiwarner @okdistribute @substack

ralphtheninja commented 2 years ago
1. How nice it'd be if we used changelogs, so it was easier to see what this major semver does.

That would be a great addition.

If you like, I could get one started for cabal-core. Similar to what we have in the level org (where we use hallmark to help out with formatting and creating new changelog entries), e.g. https://github.com/Level/level/blob/master/CHANGELOG.md . @vweevers has done a lot of work on this and even summarized the thoughts behind it here https://github.com/vweevers/common-changelog , which is an interesting read

It's a bit of manual work but the logs in my opinion are easy to read. The process is basically:

hackergrrl commented 2 years ago

That'd be great @ralphtheninja!

ralphtheninja commented 2 years ago

@hackergrrl Any chance getting this PR in? I think this module should also bump major when updating to changes in the protocol. It makes sense.

ralphtheninja commented 2 years ago

I can actually merge it myself, if you're ok with it :smile: I can also help out with npm publishing if you feel like letting me in.

hackergrrl commented 2 years ago

@ralphtheninja Is this you? https://www.npmjs.com/~ralphtheninja

Let me know and I'll add you to npm & let you publish.

ralphtheninja commented 2 years ago

@ralphtheninja Is this you? https://www.npmjs.com/~ralphtheninja

Yep, that's me.

ralphtheninja commented 2 years ago

I'll add a changelog, but starting from the last version :smile:

hackergrrl commented 2 years ago

@ralphtheninja sent!

ralphtheninja commented 2 years ago
lms@x260 ~/src/cabal-club/cabal-client (master)
$ npm owner ls
cblgh <angellus.falsus@gmail.com>
noffle <stephen.whitmore@gmail.com>
nickwarner <nickwarner@gmail.com>

Maybe takes a while for it to update?

hackergrrl commented 2 years ago

Turns out cabal-client wasn't in the npm org. :)

Try now!

ralphtheninja commented 2 years ago

@hackergrrl There's some difference at least :) Did you add @substack instead of me?

lms@x260 ~/src/cabal-club/cabal-client (master)
$ npm owner ls
cblgh <angellus.falsus@gmail.com>
nickwarner <nickwarner@gmail.com>
noffle <stephen.whitmore@gmail.com>
substack <substack@gmail.com>
hackergrrl commented 2 years ago

@ralphtheninja No, I issued a membership invite for ralphtheninja. I'm not sure why you aren't receiving it.

ralphtheninja commented 2 years ago

@hackergrrl Mail took a while to arrive. Works fine now!

ralphtheninja commented 2 years ago

7.0.0 I have 2FA enabled btw.

Cheers!